While running my EntityExc test bean on the latest CVS version I
got a NPE for a test that passed less than two week ago.
In my test bean I have a simple business method (with transaction
attribute REQUIRED), that throws an application exception.
When calling this method from a client without a transaction, I do
not get my application exception. Instead I get a NPE.
I added an extra try-catch in the jBoss code and got this following
stack trace:
java.lang.NullPointerException
at
org.jboss.ejb.plugins.NoPassivationEntityInstanceCache.get(NoPassivationEntityInstanceCache.java:118)
at
org.jboss.ejb.plugins.EntitySynchronizationInterceptor$InstanceSynchronization.beforeCompletion(EntitySynchronizationInterceptor.java:265)
at org.jboss.tm.TxCapsule.commit(TxCapsule.java:106)
at org.jboss.tm.TxManager.commit(TxManager.java:218)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:83)
at org.jboss.ejb.plugins.TxInterceptor.runWithTransactions(TxInterceptor.java:240)
at org.jboss.ejb.plugins.TxInterceptor.invoke(TxInterceptor.java:96)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:140)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:156)
at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:316)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:203)
at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:177)
at java.lang.reflect.Method.invoke(Native Method)
......
Looks like a FastCache problem.
I've integrated my EntityExc test bean with the jbosstest module,
and it can be found at
http://www.sparre.dk/unpublished/jbosstest-hack2.tar.gz
Anyone with write access to CVS is welcome to put my changes back
into the jbosstest CVS module.
Best Regards,
Ole Husgaard.