Bugs item #845637, was opened at 2003-11-20 11:03
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=845637&group_id=22866
Category: JBossTX
Group: v3.2
Status: Open
Resolution: None
Priority: 5
Submitted By: Alexei Yudichev (sflexus)
Assigned to: Nobody/Anonymous (nobody)
Summary: findByPrimaryKey() finds uncommitted entity
Initial Comment:
Jboss 3.2.2, 3.2.3RC1.
I have a test code in my app which looks like:
UserTransaction userTransaction =
getUserTransaction();
userTransaction.begin();
try {
//...
someSLSB.someMethod();
//...
} finally {
userTransaction.rollback();
}
someMethod() has Tx attribute "requires". someMethod()
creates entity bean and then sends JMS message to
queue with the primary key of the entity just created.
MDB gets this message and tries to find the entity by
primary key and then invoke methods on it. Interesting
thing is that it does find the entity (even though a
transaction that created it has never been commited)!
Subsequent attempt to invoke a business method on the
entity leads to javax.ejb.NoSuchObjectLocalException
(stack trace is below).
javax.ejb.NoSuchObjectLocalException: Entity not found:
primaryKey=85
at org.jboss.ejb.plugins.AbstractTxInterceptor.
invokeNext(AbstractTxInterceptor.java:158)
at org.jboss.ejb.plugins.TxInterceptorCMT.
runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.
invoke(TxInterceptorCMT.java:128)
at org.jboss.ejb.plugins.SecurityInterceptor.
invoke(SecurityInterceptor.java:118)
at org.jboss.ejb.plugins.LogInterceptor.
invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.
ProxyFactoryFinderInterceptor.
invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.EntityContainer.
internalInvoke(EntityContainer.java:490)
at org.jboss.ejb.Container.invoke(Container.java:
700)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.
invoke(BaseLocalProxyFactory.java:375)
at org.jboss.ejb.plugins.local.EntityProxy.
invoke(EntityProxy.java:38)
at $Proxy2237.getRecipient(Unknown Source)
at com.tw.mms.ejb.MMSSenderQBean.
onMessage(MMSSenderQBean.java:34)
at sun.reflect.NativeMethodAccessorImpl.
invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.
invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.
invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.
MessageDrivenContainer$ContainerInterceptor.
invoke(MessageDrivenContainer.java:460)
at org.jboss.resource.connectionmanager.
CachedConnectionInterceptor.
invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.
MessageDrivenInstanceInterceptor.
invoke(MessageDrivenInstanceInterceptor.java:62)
at org.jboss.ejb.plugins.AbstractTxInterceptor.
invokeNext(AbstractTxInterceptor.java:84)
at org.jboss.ejb.plugins.TxInterceptorCMT.
runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.
invoke(TxInterceptorCMT.java:128)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.
invoke(RunAsSecurityInterceptor.java:90)
at org.jboss.ejb.plugins.LogInterceptor.
invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.
ProxyFactoryFinderInterceptor.
invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.
internalInvoke(MessageDrivenContainer.java:374)
at org.jboss.ejb.Container.invoke(Container.java:
700)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.
invoke(JMSContainerInvoker.java:824)
at org.jboss.ejb.plugins.jms.
JMSContainerInvoker$MessageListenerImpl.
onMessage(JMSContainerInvoker.java:1114)
at org.jboss.jms.asf.StdServerSession.
onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.
sessionConsumerProcessMessage(SpyMessageConsumer.
java:633)
at org.jboss.mq.SpyMessageConsumer.
addMessage(SpyMessageConsumer.java:433)
at org.jboss.mq.SpySession.run(SpySession.java:
298)
at org.jboss.jms.asf.StdServerSession.
run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.
PooledExecutor$Worker.run(PooledExecutor.java:727)
at java.lang.Thread.run(Thread.java:534)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=845637&group_id=22866
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development