About 99% sure db_data is not null..
 
public class ContactBean implements EntityBean {
    private static final boolean VERBOSE = false;
    private boolean isModified = false;
    private boolean isModifiedProps = false;
    protected EntityContext ctx;
    ContactEntityBeanData db_data = new ContactEntityBeanData();        // ONLY place in my code where db_data is set...
    ....
 
----- Original Message -----
To: 'jBoss'
Sent: Monday, December 04, 2000 11:45 AM
Subject: RE: [jBoss-User] Null pointer exceptions getting PK from context. ..

Hey,
 
are you sure that at line 61 db_data is not null ?
 
Simon
Hi all
 
JBoss 2 final
 
I have a session bean that does a DB select, then loads up a number of entity beans.
Sometimes while loading the entity beans, after loading some of the beans, i get a null pointer exception
getting the PK from the beans context...
 
Anyone got any tips/suggestions?
 
Peter.
 
 
--- entity bean ----
    public void ejbLoad() throws javax.ejb.EJBException, java.rmi.RemoteException {
        if ( VERBOSE ) System.out.println("in ejbLoad" );
        long starttime = System.currentTimeMillis();
 
        ContactPK pk = (ContactPK)ctx.getPrimaryKey(); 
        this.db_data.id = pk.id;                                                // LINE 61
        this.isModified = false;
...
    public void setEntityContext(EntityContext ctx) throws javax.ejb.EJBException, java.rmi.RemoteException {
        this.ctx = ctx;
    }
 
    public void unsetEntityContext() throws javax.ejb.EJBException, java.rmi.RemoteException {
        ctx = null;
    }
 
 
--- contact entity pk ---
public class ContactPK implements java.io.Serializable {
    int id;         // the unique database id.
    public ContactPK(int id) {
        this.id = id;
    }
    public ContactPK() {
        this.id = -1;
    }
    public String toString() {
        return "[ContactPK(id=" + Integer.toString(id) + "]";
    }
    public int hashCode() {
        return id;
    }
    public boolean equals(Object parm1) {
        return this.id ==  ((ContactPK)parm1).id;
    }
}
 
 
 
 
JBoss Output
 
[ContactBean] ContactBean.ejbFindByPrimaryKey took 90 ms
[ContactBean] ContactBean.ejbLoad took130 ms
[ContactBean] ContactBean.ejbFindByPrimaryKey took 181 ms
[ContactBean] ContactBean.ejbLoad took120 ms
[ContactBean] ContactBean.ejbFindByPrimaryKey took 110 ms
[ContactBean] ContactBean.ejbLoad took201 ms
[ContactBean] ContactBean.ejbFindByPrimaryKey took 280 ms
[ContactBean] ContactBean.ejbLoad took221 ms
[ContactBean] ContactBean.ejbFindByPrimaryKey took 160 ms
[ContactBean] TRANSACTION ROLLBACK EXCEPTION:null; nested exception is:
        javax.ejb.EJBException
[ContactBean] java.lang.NullPointerException
[ContactBean]   at com.cpt.contactcenter.server.ContactBean.ejbLoad(ContactBean.java:61)
[ContactBean]   at java.lang.reflect.Method.invoke(Native Method)
[ContactBean]   at org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity(BMPPersistenceManager.java:275)
[ContactBean]   at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:192)
[ContactBean]   at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:204)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:133)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:263)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[ContactBean]   at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:144)
[ContactBean]   at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
[ContactBean]   at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:323)
[ContactBean]   at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:237)
[ContactBean]   at org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.java:146)
[ContactBean]   at $Proxy16.getAll(Unknown Source)
[ContactBean]   at com.cpt.contactcenter.server.AgentSessionBean.enumContacts(AgentSessionBean.java:242)
[ContactBean]   at java.lang.reflect.Method.invoke(Native Method)
[ContactBean]   at org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(StatefulSessionContainer.java:570)
[ContactBean]   at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:144)
[ContactBean]   at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:198)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:133)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:263)
[ContactBean]   at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[ContactBean]   at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
[ContactBean]   at org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContainer.java:326)
[ContactBean]   at org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:163)
[ContactBean]   at java.lang.reflect.Method.invoke(Native Method)
[ContactBean]   at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[ContactBean]   at sun.rmi.transport.Transport$1.run(Transport.java:142)
[ContactBean]   at java.security.AccessController.doPrivileged(Native Method)
[ContactBean]   at sun.rmi.transport.Transport.serviceCall(Transport.java:139)
[ContactBean]   at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
[ContactBean]   at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:643)
[ContactBean]   at java.lang.Thread.run(Thread.java:484)
[AgentSession] Exception while enuming contacts javax.transaction.TransactionRolledbackException: null; nested exception is:
        javax.ejb.EJBException
 
 

Reply via email to