Hi:
Jboss is calling with null on the Constractor of a PK class with a compound key
after calling a finder that searches by one of the two fields of the key.
ejb-jar.xml
| <entity>
| <display-name>CouponPayments</display-name>
| <ejb-name>CouponPaymentEJB</ejb-name>
|
<abstract-schema-name>CouponPayments</abstract-schema-name>
|
<home>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.CouponPaymentHomeRemote</home>
|
<remote>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.CouponPaymentRemote</remote>
|
<ejb-class>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.CouponPaymentBean</ejb-class>
| <persistence-type>Container</persistence-type>
|
<prim-key-class>com.db.gto.cio.gm.it.madrid.dbsales.ejbs.CouponPaymentPK</prim-key-class>
| <reentrant>False</reentrant>
| <cmp-version>2.x</cmp-version>
| <cmp-field><field-name>bondsId</field-name></cmp-field>
|
<cmp-field><field-name>couponDate</field-name></cmp-field>
| <query>
| <query-method>
| <method-name>findByBondsId</method-name>
| <method-params>
|
<method-param>java.lang.Integer</method-param>
| </method-params>
| </query-method>
| <ejb-ql/>
| </query></entity>
Pk class:
| package com.db.gto.cio.gm.it.madrid.dbsales.ejbs;
|
|
| public class BondStripPK implements java.io.Serializable {
|
| public Integer bondsId;
| public Integer bondsIdSTRIP;
|
| public BondStripPK(Integer BondsId, Integer BondsIdSTRIP){
| this.bondsId = BondsId;
| this.bondsIdSTRIP = BondsIdSTRIP;
|
| System.out.println("bondsId: " + bondsId + ". bondsIdSTRIP: " +
bondsIdSTRIP);
| }
|
| public Integer getBondsId(){
| return(bondsId);
| }
|
| public Integer getBondsIdSTRIP(){
| return(bondsIdSTRIP);
| }
| public boolean equals(Object bondStripPKObject){
| System.out.println("EQUALS bondsId: " + bondsId + ". bondsIdSTRIP: " +
bondsIdSTRIP);
| if (bondStripPKObject instanceof BondStripPK) {
| BondStripPK bondStripPK = (BondStripPK)bondStripPKObject;
| return(bondStripPK.bondsId.equals(bondsId)
| && bondStripPK.bondsIdSTRIP.equals(bondsIdSTRIP));
| }
| else{
| return(false);
| }
| }
| public BondStripPK()
| {
| }
|
|
| public int hashCode(){
| StringBuffer buff = new StringBuffer ();
| buff.append(bondsId);
| buff.append("-");
| buff.append(bondsIdSTRIP);
| int hashCode =buff.toString().hashCode();
| return hashCode;
| }
|
| }
|
error:
| 18:45:54,019 INFO [STDOUT] EQUALS bondsId: 88011. bondsIdSTRIP: null
| 18:45:54,019 ERROR [BondStripEJB#findByBondsId] Find failed
| java.lang.NullPointerException
| at
com.db.gto.cio.gm.it.madrid.dbsales.ejbs.BondStripPK.equals(BondStripPK.java:30)
| at
org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache$PreloadKey.equals(ReadAheadCache.java:730)
| at java.util.HashMap.eq(HashMap.java:274)
| at java.util.HashMap.get(HashMap.java:323)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.getEntityTxData(JDBCStoreManager.java:294)
| at
org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.getPreloadDataMap(ReadAheadCache.java:555)
| at
org.jboss.ejb.plugins.cmp.jdbc.ReadAheadCache.addPreloadData(ReadAheadCache.java:475)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand$EagerCollectionFactory.createCollection(JDBCAbstractQueryCommand.
| java:712)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:226)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractQueryCommand.execute(JDBCAbstractQueryCommand.java:128)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntitiesCommand.execute(JDBCFindEntitiesCommand.java:40)
| at
org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntities(JDBCStoreManager.java:598)
| at
org.jboss.ejb.plugins.CMPPersistenceManager.findEntities(CMPPersistenceManager.java:322)
| at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntities(CachedConnectionInterceptor.java:321)
| at org.jboss.ejb.EntityContainer.find(EntityContainer.java:700)
| at sun.reflect.GeneratedMethodAccessor120.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:324)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
| at
org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1113)
| at
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
| at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:192)
| at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:212)
| at
org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:90)
| at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:113)
| at
org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
| at
org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
| at
org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:41)
| at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:109)
| at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:316)
| at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:129)
| at
org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:106)
| at
org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
| at
org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
| at
org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:508)
| at org.jboss.ejb.Container.invoke(Container.java:876)
| at sun.reflect.GeneratedMethodAccessor118.invoke(Unknown Source)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:324)
| at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
| at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:242)
| at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
| at
org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:155)
| at
org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:104)
| at
org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:55)
| at
org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
| at
org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
| at
org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:169)
| at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
| at $Proxy433.findByBondsId(Unknown Source)
|
Any ideas?
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3876457#3876457
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3876457
-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user