1 2 3 Previous Next 31 Replies Latest reply on Feb 9, 2009 6:12 AM by gaohoward

    Upgrading AS5 to use messaging 1.4.2.GA

    rnicholson10

      What is the correct procedure for upgrading messaging on AS5?

      I've copied both jboss-messaging.jar and jboss-messaging-client.jar to there correct locations and copied the xml files to the deploy/messaging folder.

      I can produce and consume messages on the same instance but my bridge is not working. I repeatedly get the log message:

      2009-02-05 13:39:47,617 INFO [org.jboss.jms.server.bridge.Bridge] (Thread-314) null Succeeded in reconnecting to servers
      2009-02-05 13:39:47,618 DEBUG [org.jboss.remoting.ServerInvoker] (Thread-44) Thread pool class supplied is not an object name.
      2009-02-05 13:39:47,619 DEBUG [org.jboss.jms.server.security.SecurityMetadataStore] (Thread-42) No SecurityMetadadata was available for speQueueEnd, using default security config
      2009-02-05 13:39:47,619 ERROR [org.jboss.messaging.util.ExceptionUtil] (Thread-42) ConnectionEndpoint[0d5-kep6htqf-1-9qtjgtqf-o95xms-e6u1gs4] sendTransaction [fd5-rep6htqf-1-9qtjgtqf-o95xms-e6u1gs4]
      javax.jms.JMSException: Failed to route Reference[20215254017949969]:RELIABLE to speQueueEnd
       at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendMessage(ServerConnectionEndpoint.java:757)
       at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.processTransaction(ServerConnectionEndpoint.java:815)
       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.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
       at org.jboss.jms.server.container.SecurityAspect.handleSendTransaction(SecurityAspect.java:195)
       at sun.reflect.GeneratedMethodAccessor358.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.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
       at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
       at org.jboss.jms.server.endpoint.advised.ConnectionAdvised$sendTransaction_N3268650789275322226.invokeNext(ConnectionAdvised$sendTransaction_N3268650789275322226.java)
       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:908)
       at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
       at org.jboss.remoting.Client.invoke(Client.java:1708)
       at org.jboss.remoting.Client.invoke(Client.java:612)
       at org.jboss.remoting.Client.invoke(Client.java:600)
       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.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
       at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
       at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
       at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
       at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
       at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
       at org.jboss.jms.client.delegate.ClientConnectionDelegate$sendTransaction_N3268650789275322226.invokeNext(ClientConnectionDelegate$sendTransaction_N3268650789275322226.java)
       at org.jboss.jms.client.delegate.ClientConnectionDelegate.sendTransaction(ClientConnectionDelegate.java)
       at org.jboss.jms.tx.ResourceManager.sendTransactionXA(ResourceManager.java:662)
       at org.jboss.jms.tx.ResourceManager.commit(ResourceManager.java:367)
       at org.jboss.jms.tx.MessagingXAResource.commit(MessagingXAResource.java:254)
       at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelOnePhaseCommit(XAResourceRecord.java:800)
       at com.arjuna.ats.arjuna.coordinator.BasicAction.onePhaseCommit(BasicAction.java:2639)
       at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1784)
       at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:88)
       at com.arjuna.ats.arjuna.AtomicAction.end(AtomicAction.java:216)
       at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commit(TransactionImple.java:240)
       at org.jboss.jms.server.bridge.Bridge.sendBatchXA(Bridge.java:1294)
       at org.jboss.jms.server.bridge.Bridge.sendBatch(Bridge.java:1354)
       at org.jboss.jms.server.bridge.Bridge.access$1900(Bridge.java:68)
       at org.jboss.jms.server.bridge.Bridge$SourceListener.onMessage(Bridge.java:1677)
       at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:229)
       at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
       at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:120)
       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)
      2009-02-05 13:39:47,622 WARN [org.jboss.jms.server.bridge.Bridge] (Thread-42) null Failed to send + acknowledge batch, closing JMS objects
      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.commit(TransactionImple.java:255)
       at org.jboss.jms.server.bridge.Bridge.sendBatchXA(Bridge.java:1294)
       at org.jboss.jms.server.bridge.Bridge.sendBatch(Bridge.java:1354)
       at org.jboss.jms.server.bridge.Bridge.access$1900(Bridge.java:68)
       at org.jboss.jms.server.bridge.Bridge$SourceListener.onMessage(Bridge.java:1677)
       at org.jboss.jms.client.container.ClientConsumer.callOnMessage(ClientConsumer.java:229)
       at org.jboss.jms.client.container.ClientConsumer$ListenerRunner.run(ClientConsumer.java:1043)
       at org.jboss.messaging.util.OrderedExecutorFactory$ChildExecutor.run(OrderedExecutorFactory.java:120)
       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)
      2009-02-05 13:39:47,624 DEBUG [org.jboss.jms.server.connectionmanager.SimpleConnectionManager] (Thread-317) unregistered connection ConnectionEndpoint[0d5-kep6htqf-1-9qtjgtqf-o95xms-e6u1gs4] with remoting session ID ...-fqth6pef-5cu
      2009-02-05 13:39:47,624 DEBUG [org.jboss.jms.server.remoting.JMSServerInvocationHandler] (Thread-317) removing callback handler ServerInvokerCallbackHandler[4sg1u6e-smx59o-fqtgjtq9-1-fqth6pef-5cu+4sg1u6e-smx59o-fqtgjtq9-1-fqth6pej-5cx]
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@10f6d29 from registry
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.ServerInvoker] (Thread-317) ServerInvoker (SocketServerInvoker[172.16.66.230:293827807]) removing client callback handler with session id of 4sg1u6e-smx59o-fqtgjtq9-1-fqth6pef-5cu+4sg1u6e-smx59o-fqtgjtq9-1-fqth6pej-5cx.
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.transport.bisocket.BisocketServerInvoker] (Thread-317) unrecognized listener ID: 4sg1u6e-smx59o-fqtgjtq9-1-fqth6pej-5cx
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@1c7d5a8 from registry
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:293827807] stopped threads in clientpool
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:293827807] stopped threads in threadpool
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:293827807] exiting
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.ServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:293827807] stopped
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) decremented org.jboss.remoting.transport.local.LocalClientInvoker@9c2a55's count, current count 1
      2009-02-05 13:39:47,624 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) decremented org.jboss.remoting.transport.local.LocalClientInvoker@9f4640's count, current count 1
      2009-02-05 13:39:47,624 DEBUG [org.jboss.jms.server.connectionmanager.SimpleConnectionManager] (Thread-317) unregistered connection ConnectionEndpoint[7d5-oep6htqf-1-9qtjgtqf-o95xms-e6u1gs4] with remoting session ID ...-fqth6pek-5d1
      2009-02-05 13:39:47,625 DEBUG [org.jboss.jms.server.remoting.JMSServerInvocationHandler] (Thread-317) removing callback handler ServerInvokerCallbackHandler[4sg1u6e-smx59o-fqtgjtq9-1-fqth6pek-5d1+4sg1u6e-smx59o-fqtgjtq9-1-fqth6pen-5d4]
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@c08534 from registry
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.ServerInvoker] (Thread-317) ServerInvoker (SocketServerInvoker[172.16.66.230:289210239]) removing client callback handler with session id of 4sg1u6e-smx59o-fqtgjtq9-1-fqth6pek-5d1+4sg1u6e-smx59o-fqtgjtq9-1-fqth6pen-5d4.
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.transport.bisocket.BisocketServerInvoker] (Thread-317) unrecognized listener ID: 4sg1u6e-smx59o-fqtgjtq9-1-fqth6pen-5d4
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@1694d9f from registry
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:289210239] stopped threads in clientpool
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:289210239] stopped threads in threadpool
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.transport.socket.SocketServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:289210239] exiting
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.ServerInvoker] (Thread-317) SocketServerInvoker[172.16.66.230:289210239] stopped
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@9c2a55 from registry
      2009-02-05 13:39:47,625 DEBUG [org.jboss.remoting.InvokerRegistry] (Thread-317) removed org.jboss.remoting.transport.local.LocalClientInvoker@9f4640 from registry
      2009-02-05 13:39:47,625 ERROR [org.jboss.jms.client.container.ClosedInterceptor] (Thread-317) ClosedInterceptor.ClientSessionDelegate[8d5-oep6htqf-1-9qtjgtqf-o95xms-e6u1gs4]: method getXAResource() did not go through, the interceptor is CLOSED
      2009-02-05 13:39:47,625 WARN [org.jboss.jms.server.bridge.Bridge] (Thread-317) null Will retry after a pause of 5000 ms
      


      There's a null reference referred to quite a lot. Any ideas?

        • 1. Re: Upgrading AS5 to use messaging 1.4.2.GA
          peterj

          First, you do realize that JBoss AS 5.0.0.GA comes with JBoss Messaging 4.2.1.GA?

          If you stil want to upgrade to 4.2.2.GA, then go to jbosss-messaging-1.4.2.GA/util and run:

          ant -f release-admin.xml -Djboss.home=<location-of-jbossas>

          You will get a new configuration named 'messaging' which is a copy of 'default' with Messaging 4.2.2 installed.

          • 2. Re: Upgrading AS5 to use messaging 1.4.2.GA
            timfox

            Actually not quite.

            The JBM 1.4.2 available on the download site is built against the jars for JBoss AS 4.3, *not* jboss 5 so won't work with JBoss 5.

            If you want to run 1.4.2 against JBoss 5 you'll need to build it from source with a switch, can't remember it off the top of my head, but Clebert or Howard will know.

            • 3. Re: Upgrading AS5 to use messaging 1.4.2.GA
              peterj

              Hmmm, looking at that build script a little more, it might work only for AS 4.2.x. If it works for you for 5.0.0, let me know.

              • 4. Re: Upgrading AS5 to use messaging 1.4.2.GA
                gaohoward

                hi, you can change the build.properties file, set
                integration.base=AS5

                then kick off the build.

                • 5. Re: Upgrading AS5 to use messaging 1.4.2.GA
                  timfox

                  sounds familiar, so, in total, that would be:

                  svn co https://anonsvn.jboss.org/repos/messaging/tags/JBossMessaging_1_4_2_GA

                  edit build properties

                  ant distro

                  ??

                  • 6. Re: Upgrading AS5 to use messaging 1.4.2.GA
                    gaohoward

                    should be

                    ant release-bundle

                    then go to output/lib find the zip

                    • 7. Re: Upgrading AS5 to use messaging 1.4.2.GA
                      peterj

                      Close, but no cigar.

                      * "ant distro" does not work because there is no distro target in build.xml.

                      * The util/release-admin.xml file in the resulting zip file is still 4.2.x specific - it doesn't copy "deployers", it fails when it cannot find the old 'jms' directory, the contents of messaging.sar do not match the contents of the server/default/deploy/messaging directory, it copies the messaging.jar to server/messaging/lib instead of common/lib. Which brings up another interesting point - for the release-admin.xml file to be fully 5.0.0.GA-compliant, it has to upgrade every configuration because once common/lib/messaging.jar has been replaced all configurations are now running Messaging 4.2.2.

                      I was sure that I built it wrong so I did it twice, double-checking that I set the property correctly. Same result.

                      Conclusion: upgrading JBoss AS 5.0.0.GA to use JBoss Messaging 4.2.2.GA is not easy, I still don't have it working.

                      • 8. Re: Upgrading AS5 to use messaging 1.4.2.GA
                        timfox

                        ant release-bundle should work fine.

                        If not, Howard or Clebert - can you please advise why not?

                        • 9. Re: Upgrading AS5 to use messaging 1.4.2.GA
                          clebert.suconic

                          ant release-bundle only works on JBoss 4.2, as we needed to do a lot of stuff to replace jboss-mq.

                          Replacing jboss-messaging on JBoss5 should be just replacing a JAR, because it already contains JBossMessaging 1.4 there.

                          • 10. Re: Upgrading AS5 to use messaging 1.4.2.GA
                            rnicholson10

                            I had working version of jboss messaging but need to upgrade for fixes to the following issues.


                            https://jira.jboss.org/jira/browse/JBMESSAGING-999


                            I have tried just replacing the jars and the xml files from the download on the site. If these jars are not compiled for AS5 and they need to be that might explain why the bridge fails to work correctly. As I pointed out messaging works correctly within a local instance of JBoss. The problems begin once I try to use a bridge.

                            How do you normally upgrade messaging in AS5? There must be some procedure for doing so, how else would you test it normally with AS5?

                            Building the jars myself is not a problem, but if they cannot be built for AS5 I'm unsure as to how to continue...

                            • 11. Re: Upgrading AS5 to use messaging 1.4.2.GA
                              clebert.suconic

                               

                              What is the correct procedure for upgrading messaging on AS5?


                              You first need to get a correct release, compiled for JBoss5. This is because of AOP dependencies as the byte weaving is different on both versions.

                              JBossMessaging 1.4.2 was compiled for JBoss 4.2, if you want to install JbossMessaging 1.4.2 on Jboss5 you need to follow these steps:


                              - svn co http://anonsvn.jboss.org/repos/messaging/tags/JBossMessaging_1_4_2_GA/ jbm14

                              - cd jbm14

                              - change build.properties to AS5

                              - ant release-bundle

                              You will have the release under ./jbm14/release and a zip-file under ./output


                              - Replace any jboss-messaging.jar or jboss-messaging-client.jar on jboss5 tree by the ones under ./release

                              - Make sure you also use the configs from ./example/config

                              (That will include YOURDB-persistence-service.xml and remoting-bisocket-service.xml)

                              A warning though:

                              When we released JBM 1.4.2, we validated the configs for JBoss 4.2 as part of our release process. I don't think you would have an issue, but you should be aware and do some basic tests.



                              • 12. Re: Upgrading AS5 to use messaging 1.4.2.GA
                                peterj

                                Taking another tact, I got and built 1.4.1.GA source and compared the generate jboss-messaging.sar between 1.4.1 and 1.4.2 - they are the same. So the steps to update AS 5.0.0.GA to Messaging 1.4.2 should be copying jboss-messaging-client.jar to the client directory and jboss-messaging.jar to the common/lib directory.

                                I did that and my messaging clients are working.

                                • 13. Re: Upgrading AS5 to use messaging 1.4.2.GA
                                  clebert.suconic

                                   

                                  compared the generate jboss-messaging.sar between 1.4.1 and 1.4.2


                                  It can't be the same.

                                  I just did a diff between 1.4.1, and 1.4.2 and I can see the changes:

                                  svn diff http://anonsvn.jboss.org/repos/messaging/tags/JBossMessaging_1_4_1_GA/ http://anonsvn.jboss.org/repos/messaging/tags/JBossMessaging_1_4_2_GA/ > tmp/diff.patch
                                  


                                  Mainly on where you said you need a fix:

                                  https://jira.jboss.org/jira/browse/JBMESSAGING-999?page=com.atlassian.jira.ext.fisheye%3Afisheye-issuepanel


                                  Those fixes ^ ^ are not available at 1.4.1.GA


                                  • 14. Re: Upgrading AS5 to use messaging 1.4.2.GA
                                    peterj

                                    I got both the 1_4_1_GA and 1_4_2_GA tags sout of svn, built each with integration.base=AS5, ran the release-bundle target and then compared the resulting jboss-messaging.sar file contents. The only difference was in the manifest file.

                                    Looking at the diff.patch result it appears that many of the xxx-persistence.xml files were changed, but not the one for hsql. Which explains why I wasn't seeing any differences.

                                    So besides the JAR file udpates, if you are using a database other than hsqldb, you also have to update the persistence-service.xml file.

                                    Apparently updated AS 5.0.0.GA to the latest Messaging is not for the faint of heart. :-)

                                    1 2 3 Previous Next