1 Reply Latest reply on Aug 4, 2011 5:54 PM by gastaldi

    jboss-atx: unknown Tx PropagationContext

    gastaldi

      I have two JBoss EAP 5.1 with JTS configured as told in jboss-eap-5.1\jboss-as\docs\examples\transactions.

       

      I placed a WAR file on instance A and an EJB configured with a XA DataSource in instance B

       

      I start a UserTransaction in my WAR file and then call the EJB. The transaction should propagate, but it is not. When the invocation finishes, the SQL inserts are done in Database. It should do it only when ut.commit() is called.

       

      I am facing the following error in instance B:

       

       

      ERROR [com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager] (WorkerThread#0[10.12.14.134:52043]) jboss-atx: unknown Tx PropagationContext
      

       

      What could be causing this ?

       

      Regards,

       

      George Gastaldi

        • 1. Re: jboss-atx: unknown Tx PropagationContext
          gastaldi

          Solved ! Forgot to change the file

          transaction-jboss-beans.xml
          

           

          to the following:

           

           

          <?xml version="1.0" encoding="UTF-8"?>
          <deployment xmlns="urn:jboss:bean-deployer:2.0">
          
          
              <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jts.TransactionManagerService">
                  <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager",exposedInterface=com.arjuna.ats.jbossatx.jts.TransactionManagerServiceMBean.class, registerDirectly=true)
                  </annotation>
                  <annotation>@org.jboss.managed.api.annotation.ManagementObject(name="TransactionManager",componentType=@org.jboss.managed.api.annotation.ManagementComponent(type = "MCBean", subtype = "JTA"),targetInterface=com.arjuna.ats.jbossatx.jts.TransactionManagerServiceMBean.class)</annotation>
          
          
                  <property name="transactionTimeout">300</property>
                  <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
                  <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
          
          
                  <property name="transactionStatusManagerInetAddress">
                      <value-factory bean="ServiceBindingManager"
                                     method="getInetAddressBinding">
                          <parameter>TransactionManager</parameter>
                          <parameter>transactionStatusManager</parameter>
                      </value-factory>
                  </property>
                  <property name="transactionStatusManagerPort">
                      <value-factory bean="ServiceBindingManager"
                                     method="getIntBinding" >
                          <parameter>TransactionManager</parameter>
                          <parameter>transactionStatusManager</parameter>
                      </value-factory>
                  </property>
          
          
                  <property name="recoveryInetAddress">
                      <value-factory bean="ServiceBindingManager"
                                     method="getInetAddressBinding">
                          <parameter>TransactionManager</parameter>
                          <parameter>recoveryManager</parameter>
                      </value-factory>
                  </property>
                  <property name="recoveryPort">
                      <value-factory bean="ServiceBindingManager"
                                     method="getIntBinding" >
                          <parameter>TransactionManager</parameter>
                          <parameter>recoveryManager</parameter>
                      </value-factory>
                  </property>
          
          
                  <property name="socketProcessIdPort">0</property>
                              <start>
                     <parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter>
                  </start>
              </bean>
          
          
              <!-- Make javax.transaction.TransactionManager available for injection -->
              <bean name="RealTransactionManager">
                <constructor factoryMethod="getTransactionManager">
                  <factory bean="TransactionManager"/>
                </constructor>
              </bean>
              
              <!-- Handles user transaction providers and listeners -->
              <bean name="UserTransactionRegistry" class="org.jboss.tm.usertx.UserTransactionRegistry">
                <!-- Register providers -->
                <incallback method="addProvider"/>
                <uncallback method="removeProvider"/>
                <!-- Register listeners -->
                <incallback method="addListener"/>
                <uncallback method="removeListener"/>
              </bean>
          
          
              <!-- The provider for default in process UserTransactions -->
              <bean name="DefaultUserTransactionprovider" class="org.jboss.tm.usertx.client.ServerVMClientUserTransaction">
                 <constructor factoryClass="org.jboss.tm.usertx.client.ServerVMClientUserTransaction" factoryMethod="getSingleton"/>
                 <demand>TransactionManager</demand>
              </bean>
          
          
          </deployment>