Hi container developers!

The most important part first, the server trace (client trace says
nothing new):

jBoss: [User] [15] getPersonalDetails(15,null)
jBoss: [UserACL] [15acl] hasAccess(15,null)
jBoss: [UserACL] [15acl] isOwner(15,null)
jBoss: [UserPersonalDetails] create(15pd,15,null)
jBoss: [UserACL] create(15pdacl,15,null)
[User] CONTAINER EXCEPTION:null
[User] java.lang.NullPointerException
[User]  at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.
java:136)
[User]  at
org.jboss.ejb.plugins.jrmp.interfaces.EntityProxy.invoke(EntityProxy.
java:110)
[User]  at $Proxy36.equals(Unknown Source)
[User]  at
org.jboss.ejb.plugins.jaws.jdbc.JDBCStoreEntityCommand.changed(JDBCSt
oreEntityCommand.java:164)
[User]  at
org.jboss.ejb.plugins.jaws.jdbc.JDBCStoreEntityCommand.execute(JDBCSt
oreEntityCommand.java:87)
[User]  at
org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.storeEntity(JAWSPer
sistenceManager.java:156)
[User]  at
org.jboss.ejb.plugins.CMPPersistenceManager.storeEntity(CMPPersistenc
eManager.java:337)
[User]  at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchr
onization.beforeCompletion(EntitySynchronizationInterceptor.java:343)
[User]  at
org.jboss.tm.TxCapsule.doBeforeCompletion(TxCapsule.java:1104)
[User]  at org.jboss.tm.TxCapsule.commit(TxCapsule.java:278)
[User]  at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:76)
[User]  at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep
torCMT.java:318)
[User]  at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:9
9)
[User]  at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.
java:144)
[User]  at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
[User]  at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:323)
[User]  at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPCon
tainerInvoker.java:163)
[User]  at java.lang.reflect.Method.invoke(Native Method)
[User]  at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[User]  at sun.rmi.transport.Transport$1.run(Transport.java:142)
[User]  at java.security.AccessController.doPrivileged(Native Method)
[User]  at sun.rmi.transport.Transport.serviceCall(Transport.java:139)
[User]  at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
43)
[User]  at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:643)
[User]  at java.lang.Thread.run(Thread.java:484)
jBoss: [Bean Cache] Resized cache for bean PublicDirectory: old size =
1000, new
 size = 50


Ok, that is what is going on inside the code:

User.getPersonalDetails() is called from the client. The B2B reference
to UserPersonalDetails is still null at this time. GetPersonalDetails()
checks the null value after some access right checking with UserACL and
creates a new UserPersonalDetails bean. This bean itself creates a new
UserACL object. In the database I can see, that the UserPersonalDetails
object stored the reference to the new UserACL bean. But the User bean
does not store the reference to the new UserPersonalDetails bean.

Ok :-) , try this one:

User   UserACL(for User)  UserPersonalDetails   UserACL(for UserP.D.)
|
getPersonalDetails()
------------->|
          some checking
|<------------|
discovers 
B2B reference
is null
|-------------------------------->|
                               create()
                                  |----------------->|
                                                   create()
                                  |<-----------------|
                            (reference to                           
                            UserACL stored)
                           CONTAINER EXCEPTION?
CONTAINER EXCEPTION? <------------|


And, I am afraid, I am working with the latest cvs checkout.

Please HELP !

Which additional information do you need ?

Ciao,
Tobias


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to