<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
JTS version of JBossTS with Hibernate/JPA
</h3>
<span style="margin-bottom: 10px;">
created by <a href="http://community.jboss.org/people/kzuno">Uno Kazuya</a> in <i>EJB3 Development</i> - <a href="http://community.jboss.org/message/588536#588536">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi,</p><p>I'm trying transaction transaction propergation between EJBs w/ JBossAS 6.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>But when I tried JTS version of JBossTS. I got a strange error.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>1. At first, I installed JTS version of JBossTS to JBossAS 6.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>$ export JAVA_HOME=....</p><p>$ export JBOSS_HOME=....</p><p>$ jar xvf jboss-as-distribution-6.0.0.</p><p id=":177">Final.zip<br/>$ cd jboss-6.0.0.Final<br/>$ cd docs/examples/transactions<br/>$ ant jts</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><br/>2. edit all/deploy/transaction-jboss-beans.xml :</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><bean name="JTSEnvironmentBean" class="com.arjuna.ats.jts.common.JTSEnvironmentBean"><br/>   <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=JTSEnvironmentBean",<br/>               exposedInterface=com.arjuna.ats.jts.common.JTSEnvironmentBeanMBean.class, registerDirectly=true)<br/>   </annotation><br/>   <constructor factoryClass="com.arjuna.ats.jts.common.jtsPropertyManager" factoryMethod="getJTSEnvironmentBean"/><br/>   <property name="alwaysPropagateContext">true</property><br/></bean></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><br/>3. started JBossAS.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>$ cd ../../../bin<br/>$ ./run.sh --configuration all -b localhost</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><br/>4. Deployed three classes bellow (as a war file).</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>===== A servlet =====</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>@WebServlet("/TestServlet")<br/>public class TestServlet extends HttpServlet {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        @EJB<br/>        private JpaService service;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        protected void doGet(HttpServletRequest request, HttpServletResponse response)<br/>                throws ServletException, IOException {<br/>                service.executeLocal();<br/>        }<br/>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>===== An EJB =====</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>@Stateless<br/>public class JpaService {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        @PersistenceContext<br/>        EntityManager em;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        @TransactionAttribute(TransactionAttributeType.REQUIRED)<br/>        public void executeLocal() {<br/>                System.out.println("executeLocal(): JPA + REQUIRED");<br/>                Foo foo = new Foo();<br/>                foo.setProperty("bar");<br/>                em.persist(foo);<br/>                em.flush();<br/>        }<br/>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>===== An entity =====</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>@Entity(name="FOO_ENTITIES")<br/>public class Foo {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        @Id<br/>        @GeneratedValue<br/>        private Long id;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        @Column(name="PROPERTY")<br/>        private String property;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        public String getProperty() {<br/>                return property;<br/>        }</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>        public void setProperty(String property) {<br/>                this.property = property;<br/>        }<br/>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><br/>5. I executed my TestServlet, and got a error bellow.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>17:29:14,678 WARN  [com.arjuna.ats.jts] ARJUNA-22037 ServerTopLevelAction.registerResource caught exception: org.omg.CosTransactions.Inactive: IDL:<a class="jive-link-external-small" href="http://omg.org/CosTransactions/Inactive:1.0" target="_blank">omg.org/CosTransactions/Inactive:1.0</a><br/>        at org.omg.CosTransactions.InactiveHelper.read(InactiveHelper.java:42) [:6.0.0.Final]<br/>        at org.omg.CosTransactions._CoordinatorStub.register_resource(_CoordinatorStub.java:1130) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.orbspecific.interposition.resources.arjuna.ServerTopLevelAction.registerResource(ServerTopLevelAction.java:601) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.orbspecific.interposition.resources.arjuna.ServerTopLevelAction.<init>(ServerTopLevelAction.java:120) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.createHierarchy(Interposition.java:178) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.setupHierarchy(Interposition.java:109) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.create(Interposition.java:68) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.InterpositionCreator.recreateLocal(InterpositionCreator.java:48) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.FactoryElement.recreateLocal(FactoryList.java:66) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.FactoryList.recreateLocal(FactoryList.java:113) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple.recreateLocal(TransactionFactoryImple.java:222) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.createHierarchy(ContextManager.java:702) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.currentPIContext(ContextManager.java:609) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.current(ContextManager.java:169) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.associate(ContextManager.java:310) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.OTSImpleManager.current(OTSImpleManager.java:79) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.getTransaction(TransactionImple.java:1129) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:69) [:6.0.0.Final]<br/>        at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.getTransaction(BaseTransactionManagerDelegate.java:95) [:6.0.0.Final]<br/>        at org.hibernate.ejb.transaction.JoinableCMTTransaction.isTransactionInProgress(JoinableCMTTransaction.java:53) [:3.6.0.Final]<br/>        at org.hibernate.ejb.transaction.JoinableCMTTransactionFactory.isTransactionInProgress(JoinableCMTTransactionFactory.java:52) [:3.6.0.Final]<br/>        at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:235) [:3.6.0.Final]<br/>        at org.hibernate.impl.SessionImpl.isTransactionInProgress(SessionImpl.java:546) [:3.6.0.Final]<br/>        at org.hibernate.ejb.AbstractEntityManagerImpl.isTransactionInProgress(AbstractEntityManagerImpl.java:944) [:3.6.0.Final]<br/>        at org.hibernate.ejb.EntityManagerImpl.close(EntityManagerImpl.java:123) [:3.6.0.Final]<br/>        at org.jboss.jpa.deployment.ManagedEntityManagerFactory$SessionSynchronization.afterCompletion(ManagedEntityManagerFactory.java:138) [:1.0.2-alpha-3]<br/>        at com.arjuna.ats.internal.jta.resources.jts.orbspecific.SynchronizationImple.after_completion(SynchronizationImple.java:139) [:6.0.0.Final]<br/>        at com.arjuna.ArjunaOTS.ManagedSynchronizationPOATie.after_completion(ManagedSynchronizationPOATie.java:58) [:6.0.0.Final]<br/>        at com.arjuna.ArjunaOTS.ManagedSynchronizationPOA._invoke(ManagedSynchronizationPOA.java:53) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.process(Unknown Source) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.run(Unknown Source) [:6.0.0.Final]</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>17:29:14,694 WARN  [com.arjuna.ats.jts] ARJUNA-22039 ServerTopLevelAction - could not register interposed hierarchy!<br/>17:29:14,694 WARN  [com.arjuna.ats.jts] ARJUNA-22008 ContextManager.createHierarchy caught exception: org.omg.CORBA.TRANSACTION_ROLLEDBACK:   vmcid: 0x0  minor code: 0  completed: No<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.createHierarchy(Interposition.java:190) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.setupHierarchy(Interposition.java:109) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.create(Interposition.java:68) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.resources.arjuna.InterpositionCreator.recreateLocal(InterpositionCreator.java:48) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.FactoryElement.recreateLocal(FactoryList.java:66) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.interposition.FactoryList.recreateLocal(FactoryList.java:113) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple.recreateLocal(TransactionFactoryImple.java:222) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.createHierarchy(ContextManager.java:702) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.currentPIContext(ContextManager.java:609) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.current(ContextManager.java:169) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.context.ContextManager.associate(ContextManager.java:310) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jts.OTSImpleManager.current(OTSImpleManager.java:79) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.getTransaction(TransactionImple.java:1129) [:6.0.0.Final]<br/>        at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:69) [:6.0.0.Final]<br/>        at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.getTransaction(BaseTransactionManagerDelegate.java:95) [:6.0.0.Final]<br/>        at org.hibernate.ejb.transaction.JoinableCMTTransaction.isTransactionInProgress(JoinableCMTTransaction.java:53) [:3.6.0.Final]<br/>        at org.hibernate.ejb.transaction.JoinableCMTTransactionFactory.isTransactionInProgress(JoinableCMTTransactionFactory.java:52) [:3.6.0.Final]<br/>        at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:235) [:3.6.0.Final]<br/>        at org.hibernate.impl.SessionImpl.isTransactionInProgress(SessionImpl.java:546) [:3.6.0.Final]<br/>        at org.hibernate.ejb.AbstractEntityManagerImpl.isTransactionInProgress(AbstractEntityManagerImpl.java:944) [:3.6.0.Final]<br/>        at org.hibernate.ejb.EntityManagerImpl.close(EntityManagerImpl.java:123) [:3.6.0.Final]<br/>        at org.jboss.jpa.deployment.ManagedEntityManagerFactory$SessionSynchronization.afterCompletion(ManagedEntityManagerFactory.java:138) [:1.0.2-alpha-3]<br/>        at com.arjuna.ats.internal.jta.resources.jts.orbspecific.SynchronizationImple.after_completion(SynchronizationImple.java:139) [:6.0.0.Final]<br/>        at com.arjuna.ArjunaOTS.ManagedSynchronizationPOATie.after_completion(ManagedSynchronizationPOATie.java:58) [:6.0.0.Final]<br/>        at com.arjuna.ArjunaOTS.ManagedSynchronizationPOA._invoke(ManagedSynchronizationPOA.java:53) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.process(Unknown Source) [:6.0.0.Final]<br/>        at org.jacorb.poa.RequestProcessor.run(Unknown Source) [:6.0.0.Final]</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>17:29:14,694 ERROR [STDERR] org.hibernate.TransactionException: Unable to check transaction status<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.ejb.transaction.JoinableCMTTransaction.isTransactionInProgress(JoinableCMTTransaction.java:58)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.ejb.transaction.JoinableCMTTransactionFactory.isTransactionInProgress(JoinableCMTTransactionFactory.java:52)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.jdbc.JDBCContext.isTransactionInProgress(JDBCContext.java:235)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.impl.SessionImpl.isTransactionInProgress(SessionImpl.java:546)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.ejb.AbstractEntityManagerImpl.isTransactionInProgress(AbstractEntityManagerImpl.java:944)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.ejb.EntityManagerImpl.close(EntityManagerImpl.java:123)<br/>17:29:14,694 ERROR [STDERR]     at org.jboss.jpa.deployment.ManagedEntityManagerFactory$SessionSynchronization.afterCompletion(ManagedEntityManagerFactory.java:138)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jta.resources.jts.orbspecific.SynchronizationImple.after_completion(SynchronizationImple.java:139)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ArjunaOTS.ManagedSynchronizationPOATie.after_completion(ManagedSynchronizationPOATie.java:58)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ArjunaOTS.ManagedSynchronizationPOA._invoke(ManagedSynchronizationPOA.java:53)<br/>17:29:14,694 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.invokeOperation(Unknown Source)<br/>17:29:14,694 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.process(Unknown Source)<br/>17:29:14,694 ERROR [STDERR]     at org.jacorb.poa.RequestProcessor.run(Unknown Source)<br/>17:29:14,694 ERROR [STDERR] Caused by: javax.transaction.SystemException: org.omg.CORBA.TRANSACTION_ROLLEDBACK:   vmcid: 0x0  minor code: 0  completed: No<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:77)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.getTransaction(BaseTransactionManagerDelegate.java:95)<br/>17:29:14,694 ERROR [STDERR]     at org.hibernate.ejb.transaction.JoinableCMTTransaction.isTransactionInProgress(JoinableCMTTransaction.java:53)<br/>17:29:14,694 ERROR [STDERR]     ... 12 more<br/>17:29:14,694 ERROR [STDERR] Caused by: org.omg.CORBA.TRANSACTION_ROLLEDBACK:   vmcid: 0x0  minor code: 0  completed: No<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.createHierarchy(Interposition.java:190)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.setupHierarchy(Interposition.java:109)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.resources.arjuna.Interposition.create(Interposition.java:68)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.resources.arjuna.InterpositionCreator.recreateLocal(InterpositionCreator.java:48)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.FactoryElement.recreateLocal(FactoryList.java:66)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.interposition.FactoryList.recreateLocal(FactoryList.java:113)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.orbspecific.TransactionFactoryImple.recreateLocal(TransactionFactoryImple.java:222)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.context.ContextManager.createHierarchy(ContextManager.java:702)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.context.ContextManager.currentPIContext(ContextManager.java:609)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.context.ContextManager.current(ContextManager.java:169)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.context.ContextManager.associate(ContextManager.java:310)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jts.OTSImpleManager.current(OTSImpleManager.java:79)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.getTransaction(TransactionImple.java:1129)<br/>17:29:14,694 ERROR [STDERR]     at com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple.getTransaction(TransactionManagerImple.java:69)<br/>17:29:14,694 ERROR [STDERR]     ... 14 more</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>But when tried with default (non-JTS) configuration, these three classes works fine.<br/>So, what's wrong?</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/588536#588536">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in EJB3 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2030">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>