9 Replies Latest reply on Mar 25, 2011 7:12 AM by pulokesh

    JMS-JCA Provider

    pulokesh

      Hi All

       

      I have to esb applications in to machines exchanging messages. I am using JMS router to route messages between the application. As long as I use JMS provider its works fine. But I change the providers to jms-jca-provider the JMSRouter throws a javax.transaction.RollbackException and the message is not recieved by the other application.

       

      Heres is my configuration for the revieving queue

      <jms-jca-provider connection-factory="ConnectionFactory" name="JMSProviderMPInboundRLIJMS">

         <jms-bus busid="JMSChannelMPInboundRLIJMS">

          <jms-message-filter dest-name="queue/JMSQueueMPInboundRLIJMS" dest-type="QUEUE"/>

         </jms-bus>

        </jms-jca-provider>

       

      My JMS router configuration looks like this

      ConfigTree jmsConfig = new ConfigTree("JmsRouter");

      jmsConfig.setAttribute("jndiName", "queue/JMSQueueMPInboundRLIJMS");

      jmsConfig.setAttribute(JMSEpr.JNDI_URL_TAG ,"10.11.200.163:1099");

      jmsConfig.setAttribute(JMSEpr.CONNECTION_FACTORY_TAG , "ConnectionFactory");

      jmsConfig.setAttribute("unwrap" , "false");

      jmsConfig.setAttribute(JMSRouter.PERSISTENT_ATTR , "true");

      jmsConfig.setAttribute(JMSRouter.SECURITY_PRINCIPAL , "guest");

      jmsConfig.setAttribute(JMSRouter.SECURITY_CREDITIAL , "guest");

       

      I am using jboss-5.1.0.GA.

      What can be the problem?

       

      Here is the exception Log

      14:46:40,750 ERROR [ExceptionUtil] ConnectionEndpoint[xf-1mbefnlg-1-2qv5enlg-n2unr5-f6k5ba] sendTransaction [lr1-m68xgnlg-1-2qv5enlg-n2unr5-f6k5ba]

      javax.jms.IllegalStateException: Cannot find session with id vj2-h58xgnlg-1-oovzdnlg-79hlxi-j4k5ba

      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:835)

      at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendTransaction(ServerConnectionEndpoint.java:489)

      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.org$jboss$jms$server$endpoint$advised$ConnectionAdvised$sendTransaction$aop(ConnectionAdvised.java:101)

      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeTarget(ConnectionAdvised$sendTransaction_N3268650789275322226.java)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

      at org.jboss.jms.server.container.SecurityAspect.handleSendTransaction(SecurityAspect.java:195)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

      at java.lang.reflect.Method.invoke(Unknown Source)

      at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:122)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

      at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

      at org.jboss.jms.server.endpoint.advised.ConnectionAdvised.sendTransaction(ConnectionAdvised.java)

      at org.jboss.jms.wireformat.ConnectionSendTransactionRequest.serverInvoke(ConnectionSendTransactionRequest.java:82)

      at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:143)

      at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:891)

      at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)

      at org.jboss.remoting.Client.invoke(Client.java:1724)

      at org.jboss.remoting.Client.invoke(Client.java:629)

      at org.jboss.remoting.Client.invoke(Client.java:617)

      at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)

      at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)

      at org.jboss.jms.client.delegate.ClientConnectionDelegate.org$jboss$jms$client$delegate$ClientConnectionDelegate$sendTransaction$aop(ClientConnectionDelegate.java:221)

      at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeTarget(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)

      at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)

      at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

      at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)

      at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)

      at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

      at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)

      at org.jboss.jms.tx.ResourceManager.sendTransactionXA(ResourceManager.java:667)

      at org.jboss.jms.tx.ResourceManager.commit(ResourceManager.java:367)

      at org.jboss.jms.tx.MessagingXAResource.commit(MessagingXAResource.java:255)

      at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelOnePhaseCommit(XAResourceRecord.java:811)

      at com.arjuna.ats.arjuna.coordinator.BasicAction.onePhaseCommit(BasicAction.java:2656)

      at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1784)

      at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:94)

      at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1423)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

      at org.jboss.resource.adapter.jms.inflow.JmsServerSession$XATransactionDemarcationStrategy.end(JmsServerSession.java:657)

      at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:243)

      at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)

      at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

      at java.lang.Thread.run(Unknown Source)

      14:46:40,754 ERROR [JmsServerSession] org.jboss.resource.adapter.jms.inflow.JmsServerSession@148226f failed to commit/rollback

      javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Could not commit transaction.

      at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1435)

      at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:137)

      at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)

      at org.jboss.resource.adapter.jms.inflow.JmsServerSession$XATransactionDemarcationStrategy.end(JmsServerSession.java:657)

      at org.jboss.resource.adapter.jms.inflow.JmsServerSession.run(JmsServerSession.java:243)

      at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)

      at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

      at java.lang.Thread.run(Unknown Source)

        • 1. JMS-JCA Provider
          kconner

          Which server and, more importantly, which version of messaging?

          • 2. JMS-JCA Provider
            pulokesh

             

            jboss-5.1.0.GA

            ESB 4.9

            • 3. JMS-JCA Provider
              pulokesh

              If I change the JMSRouter to send the message to local queue with jms-jca provider then it works. So it has something to do with sending message to a remote queue with jms-jca provider.

              • 4. JMS-JCA Provider
                kconner

                Yes, it is a bug in messaging.  Which version of messaging do you have??

                • 5. JMS-JCA Provider
                  pulokesh

                  Thanks Kevin for the response..

                     

                  How do I find the version of messaging version?

                   

                  is there any work around for this bug.

                  • 6. JMS-JCA Provider
                    kconner

                    Find jboss-messaging.jar and then look at the MANIFEST.MF file, it will contain details of the build.

                     

                    The messaging guys have fixed these issues so the simplest solution should be updating to the latest release.

                    • 7. JMS-JCA Provider
                      pulokesh

                      This is the content of MANIFEST.MF file

                       

                      Manifest-Version: 1.0

                      Specification-Title: JBoss Messaging

                      Created-By: 1.5.0_16-b02 (Sun Microsystems Inc.)

                      Ant-Version: Apache Ant 1.7.1

                      Implementation-Title: JBoss Messaging

                      Specification-Vendor: JBoss Inc. (http://www.jboss.org/)

                      Specification-Version: 1.4.3.GA

                      Implementation-Vendor-Id: http://www.jboss.org/

                      Implementation-Version: 1.4.3.GA (build: CVSTag=JBossMessaging_1_4_3_G

                      A date=200903052203)

                      Implementation-Vendor: JBoss Inc. (http://www.jboss.org/)

                      Implementation-URL: http://www.jboss.org/

                       

                       

                      So, if I use the latest  version of jboss-messaging.jar , will it fix the problem? Where can I find it?

                      • 8. JMS-JCA Provider
                        kconner

                        The latest version on the project site states 1.4.5 but I know there is a 1.4.6 around and that fixes were made on top of that version.

                         

                        You should ask on the messaging forum for some help with this.

                        1 of 1 people found this helpful
                        • 9. JMS-JCA Provider
                          pulokesh

                          Thanks a lot Kevin. I will try your that.