9 Replies Latest reply on May 18, 2011 1:33 PM by kjaimini

    Setup Jboss with Oracle AQ

    kjaimini

      We are exploring an option to migrate to JBoss. The original JMS implementation uses Oracle AQ specific libraries. Is this supported by Jboss JMS implementation??

        • 1. Setup Jboss with Oracle AQ
          jaikiran

          What's Oracle AQ libraries? And how are they used in your application? Which version of JBoss AS are you planning to use?

          • 2. Setup Jboss with Oracle AQ
            kjaimini

            Oracle AQ libraries are the ones used for implementing JMS in OC4J container (Current Server). We are planning to migrate to JBoss AS Enterprise Platform 5.1.

            • 3. Setup Jboss with Oracle AQ
              wolfgangknauf

              Hi,

               

              I found those two links about changing the JMS provider, which might help you getting started:

               

              http://community.jboss.org/thread/49377

              http://stackoverflow.com/questions/3167905/how-to-configure-activemq-jca-connector-in-jboss-to-use-xa-connections

               

              Hope this helps

               

              Wolfgang

              • 4. Setup Jboss with Oracle AQ
                kjaimini

                Thanks for the useful information. I have been trying to change the default jms provider following that example but been running into exceptions. Any ideas ??

                java.lang.Exception: Error calling callback DependencyAdvice for target context connectionFactoryOracleAQTopic

                    at org.jboss.dependency.plugins.AbstractLifecycleCallbackItem.install(AbstractLifecycleCallbackItem.java:91)

                    at org.jboss.dependency.plugins.AbstractController.handleLifecycleCallbacks(AbstractController.java:1589)

                    at org.jboss.dependency.plugins.AbstractController.handleInstallLifecycleCallbacks(AbstractController.java:1554)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:947)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)

                    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:125)

                    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:52)

                    at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)

                    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)

                    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)

                    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)

                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)

                    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)

                    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)

                    at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)

                    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)

                    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)

                    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)

                    at org.jboss.Main.boot(Main.java:221)

                    at org.jboss.Main$1.run(Main.java:556)

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

                Caused by: javax.naming.CommunicationException [Root exception is java.io.NotSerializableException: oracle.jms.AQjmsFactory]

                    at org.jnp.interfaces.NamingContext.bind(NamingContext.java:677)

                    at org.jnp.interfaces.NamingContext.bind(NamingContext.java:611)

                    at org.jboss.util.naming.Util.bind(Util.java:105)

                    at org.jboss.util.naming.Util.bind(Util.java:91)

                    at org.jboss.aop.microcontainer.aspects.jndi.JndiLifecycleCallback.install(JndiLifecycleCallback.java:145)

                    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.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)

                    at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)

                    at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)

                    at org.jboss.beans.info.plugins.AbstractBeanInfo.invoke(AbstractBeanInfo.java:300)

                    at org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext.invoke(AbstractKernelControllerContext.java:291)

                    at org.jboss.dependency.plugins.AbstractLifecycleCallbackItem.install(AbstractLifecycleCallbackItem.java:87)

                    ... 42 more

                Caused by: java.io.NotSerializableException: oracle.jms.AQjmsFactory

                    at java.io.ObjectOutputStream.writeObject0(Unknown Source)

                    at java.io.ObjectOutputStream.writeObject(Unknown Source)

                    at java.rmi.MarshalledObject.<init>(Unknown Source)

                    at org.jnp.interfaces.MarshalledValuePair.<init>(MarshalledValuePair.java:65)

                    at org.jnp.interfaces.NamingContext.createMarshalledValuePair(NamingContext.java:1425)

                    at org.jnp.interfaces.NamingContext.bind(NamingContext.java:640)

                    ... 56 more

                2011-05-17 16:56:11,278 WARN  [org.jboss.dependency.plugins.AbstractLifecycleCallbackItem] (main) Ignored error uninstalling context connectionFactoryOracleAQTopic; callback=DependencyAdvice

                javax.naming.NameNotFoundException: XAConnectionFactory not bound

                    at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)

                    at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)

                    at org.jnp.server.NamingServer.unbind(NamingServer.java:349)

                    at org.jnp.server.NamingServer.unbind(NamingServer.java:318)

                    at org.jnp.interfaces.NamingContext.unbind(NamingContext.java:871)

                    at javax.naming.InitialContext.unbind(Unknown Source)

                    at org.jboss.util.naming.Util.unbind(Util.java:151)

                    at org.jboss.util.naming.Util.unbind(Util.java:141)

                    at org.jboss.aop.microcontainer.aspects.jndi.JndiLifecycleCallback.uninstall(JndiLifecycleCallback.java:165)

                    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.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)

                    at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)

                    at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)

                    at org.jboss.beans.info.plugins.AbstractBeanInfo.invoke(AbstractBeanInfo.java:300)

                    at org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext.invoke(AbstractKernelControllerContext.java:291)

                    at org.jboss.dependency.plugins.AbstractLifecycleCallbackItem.uninstall(AbstractLifecycleCallbackItem.java:112)

                    at org.jboss.dependency.plugins.AbstractController.handleLifecycleCallbacks(AbstractController.java:1591)

                    at org.jboss.dependency.plugins.AbstractController.handleUninstallLifecycleCallbacks(AbstractController.java:1567)

                    at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1293)

                    at org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1198)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:960)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)

                    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:125)

                    at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy(BeanMetaDataDeployer.java:52)

                    at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)

                    at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:55)

                    at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:179)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1454)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1172)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1193)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1113)

                    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:826)

                    at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:556)

                    at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:789)

                    at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:699)

                    at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)

                    at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:403)

                    at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1652)

                    at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:938)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

                    at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:988)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:778)

                    at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:543)

                    at org.jboss.system.server.profileservice.repository.AbstractProfileService.registerProfile(AbstractProfileService.java:308)

                    at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:256)

                    at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)

                    at org.jboss.Main.boot(Main.java:221)

                    at org.jboss.Main$1.run(Main.java:556)

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

                Wolfgang Knauf wrote:

                 

                Hi,

                 

                I found those two links about changing the JMS provider, which might help you getting started:

                 

                http://community.jboss.org/thread/49377

                http://stackoverflow.com/questions/3167905/how-to-configure-activemq-jca-connector-in-jboss-to-use-xa-connections

                 

                Hope this helps

                 

                Wolfgang

                • 5. Setup Jboss with Oracle AQ
                  wolfgangknauf

                  Hi

                   

                  >> Caused by: java.io.NotSerializableException: oracle.jms.AQjmsFactory

                   

                  So you tried to use "oracle.jms.AQjmsFactory"? Shouldn't you use "oracle.jms.AQjmsConnectionFactory" or one of its subclasses "oracle.jms.AQjmsQueueConnectionFactory" or "oracle.jms.AQjmsTopicConnectionFactory"?

                  I had looked at the class hierarchie found here: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b12023/oracle/jms/AQjmsFactory.html

                  But I had never changed the JMS provider myself, so I cannot provide you with much help.

                   

                  Best regards

                   

                  Wolfgang

                  1 of 1 people found this helpful
                  • 6. Re: Setup Jboss with Oracle AQ
                    kjaimini

                    Hi

                    Thanks for correcting me, Yep you are right I just changed AQJMSQueueConnectionFactory. I am getting an illegal access exception looking into that.

                     

                    I did see some documentation on using Oracle AQ Sun adapter on JBoss 5.1 : http://community.jboss.org/wiki/AQSunAdapter but the problem of using the adapter is the project has been discontinued. Although ESB route is recommended I don't want to go this path.

                    The other option i have seen is:  http://sourceforge.net/tracker/index.php?func=detail&aid=912173&group_id=22866&atid=376687 this patch has not been updated since JBoss 3.2.3. Any thoughts on if this patch actually works with JBoss 5.1 ??

                    • 7. Re: Setup Jboss with Oracle AQ
                      wolfgangknauf

                      I fear that a patch for 3.2.3 will not work with 5.1.

                       

                      Are there some forums for the OracleAQ? Maybe they can help you with this...

                       

                      Best regards

                       

                      Wolfgang

                      • 8. Re: Setup Jboss with Oracle AQ
                        wolfgangknauf

                        By the way: why not using the JMS implementation bundled with JBoss ;-)?

                        • 9. Re: Setup Jboss with Oracle AQ
                          kjaimini

                          I think that maybe the only option we have left and go for the default JMS implementation (JBoss Messaging). Thanks for all you guy's help got some useful info.