[JBoss Seam] - Transaction won't commit from MDB Seam2 component
by jazir1979
Hi,
I have an MDB annotated with @Name, which worked fine in 1.2.1.GA.
But now, when the app server attemps to commit following a successful message, I get this...
| 10:12:29,703 INFO [DownloadManager] Finished processing file: c:\download\received\2AZ3MQ_20060627134443
| 10:12:29,703 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator_2] TwoPhaseCoordinator.beforeCompletion - failed for com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple@f66eac
| java.lang.IllegalStateException: No application context active
| at org.jboss.seam.Component.forName(Component.java:1690)
| at org.jboss.seam.Component.getInstance(Component.java:1740)
| at org.jboss.seam.Component.getInstance(Component.java:1735)
| at org.jboss.seam.Component.getInstance(Component.java:1712)
| at org.jboss.seam.Component.getInstance(Component.java:1707)
| at org.jboss.seam.core.Events.instance(Events.java:154)
| at org.jboss.seam.transaction.SynchronizationRegistry.beforeTransactionCompletion(SynchronizationRegistry.java:51)
| at org.jboss.seam.transaction.EjbTransaction.beforeCompletion(EjbTransaction.java:43)
| at org.jboss.ejb3.stateful.SessionSynchronizationInterceptor$SFSBSessionSynchronization.beforeCompletion(SessionSynchronizationInterceptor.java:71)
| at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:249)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
| at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1256)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
| at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
| at org.jboss.resource.adapter.jms.inflow.JmsServerSession$XATransactionDemarcationStrategy.end(JmsServerSession.java:494)
| at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:248)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
| at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
| at java.lang.Thread.run(Thread.java:595)
|
The MDB is using CMT (obviously), and was using a standard @PersistenceContext. I tried changing it to inject my seam-managed PC, but the error was still the same.
any ideas?
Daniel.
PS: sorry for all the posts, I feel I may have jumped to Seam2 Beta a bit too early, but hopefully the error reports do help.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4058979#4058979
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4058979
18Â years, 9Â months
[JBoss Seam] - Re: When and where to use jBPM in Seam app ?
by gavin.kingï¼ jboss.com
anonymous wrote : When we expose stateful bean as Seam component with scope = business process, it's persistence may be longer than session and continue across sessions/users , right ? If we don't need this object when process ends, then we don't need it to be entity bean and stay in database afterwards. We don't care how Seam/jBPM saves state in context (maybe using the same database), maps table names, fields, etc. Is it good practice to use process-wide stateful bean in such manner, or Entity bean is still recommended ?
I would really strongly recommend against the use of serialized blobs in databases. For the same reason I cited above: how will this work across a system updgrade?
However, with a jBPM Converter, you can sometimes persist some kind of state into jBPMs tables without the need for a binary representation, or a separate entity.
Still, IMO, things that need to persist beyond a user session should usually be entities mapped to welldefined database schemas. You app will be legacy one day.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4058974#4058974
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4058974
18Â years, 9Â months