3 Replies Latest reply on Dec 1, 2006 3:54 AM by jsalvo

    Integrating / Deploying SunOne OpenMessageQueue with JBoss 4

    jsalvo

      Hi,

      I have been using SunOne OpenMessageQueue ( https://mq.dev.java.net/ ) for several months now. However, I have been using JMS outside of a J2EE container. What I would like to do now is to use SunOne OpenMessageQueue within JBoss, and use that instead of JBossMQ.

      SunOne OMQ comes distributed with a RAR archive ( imqjmsra.rar ). However, I could not find information on how to go about deploying it inside of JBoss:

      1) Do I just copy the .rar archive onto the deploy directory ?
      2) What do I need to configure in the various xml files ( e.g. jms-ds.xml, etc... ) so that it uses SunOne OMQ ....:
      2a) ... in addition to JBossMQ ?
      2b) ... as a replacement for JBossMQ ?

      Thanks.

        • 1. Re: Integrating / Deploying SunOne OpenMessageQueue with JBo
          jsalvo

          One more thing, the existing SunOne OpenMessageQueue installation is clustered, and uses file-based persistence ( Thus, no need for a jdbc datasource ).

          • 2. Re: Integrating / Deploying SunOne OpenMessageQueue with JBo
            jsalvo

             

            "jsalvo" wrote:

            SunOne OMQ comes distributed with a RAR archive ( imqjmsra.rar ). However, I could not find information on how to go about deploying it inside of JBoss:

            1) Do I just copy the .rar archive onto the deploy directory ?


            Answering myself on that part. I modified the ra.xml inside the RAR file so that it connects to the proper IP and port of the remotely running SunOneMQ, and copied the RAR file into the deploy directory. That's working fine now. The SunOneMQ RA is deployed:

            2006-12-01 18:05:35,686 DEBUG [org.jboss.system.ServiceController] starting service jboss.jca:service=RARDeployment,name='imqjmsra.rar'
            2006-12-01 18:05:35,686 DEBUG [org.jboss.resource.deployment.RARDeployment] Starting jboss.jca:service=RARDeployment,name='imqjmsra.rar'
            2006-12-01 18:05:35,744 ERROR [STDERR] 1/12/2006 18:05:35 com.sun.messaging.jms.ra.ResourceAdapter start
            INFO: MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting...
            ================================================================================
            Sun Java(tm) System Message Queue 4.0
            Sun Microsystems, Inc.
            Version: 4.0 (Build 28-a)
            Compile: Tue May 2 09:50:18 PDT 2006
            
            Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
            SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
            
            This product includes code licensed from RSA Data Security.
            ================================================================================
            18:05:37,649 ERROR [STDERR] 1/12/2006 18:05:37 com.sun.messaging.jms.ra.ResourceAdapter start
            INFO: MQJMSRA_RA1101: SJSMQ JMS ResourceAdaapter configuration=
            < .. snip ..>
            
            18:05:37,653 ERROR [STDERR] 1/12/2006 18:05:37 com.sun.messaging.jms.ra.ResourceAdapter start
            INFO: MQJMSRA_RA1101: SJSMQ JMSRA Started
            



            2) What do I need to configure in the various xml files ( e.g. jms-ds.xml, etc... ) so that it uses SunOne OMQ ....:
            2a) ... in addition to JBossMQ ?
            2b) ... as a replacement for JBossMQ ?


            The only thing now is, do I have to change the any JBoss specific XML files ?
            Regards,

            John


            • 3. Re: Integrating / Deploying SunOne OpenMessageQueue with JBo
              jsalvo

              FYI .... I have implemented a JMSProviderAdapter taken from the code in this link:

              http://swforum.sun.com/jive/thread.jspa?threadID=45414

              .. although instead of using LDAP, I am simply using a filestore for the administered objects. I have then created a JAR for the the JMSProviderAdapter implementation class, placed it into server/lib.

              Then I added the following in deploy/jms/jms-ds.xml ( I did NOT replace the DefaultJMSProvider ):

               <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
               name="jboss.mq:service=JMSProviderLoader,name=SunOneJMSProvider">
               <attribute name="ProviderName">SunOneJMSProvider</attribute>
               <attribute name="ProviderAdapterClass">
               org.jboss.jms.jndi.JMSProviderAdapterSunOneImpl
               </attribute>
               <!-- The combined connection factory -->
               <attribute name="FactoryRef">java:/SunOneXAConnectionFactory</attribute>
               <!-- The queue connection factory -->
               <attribute name="QueueFactoryRef">java:/SunOneQueueXAConnectionFactory</attribute>
               <!-- The topic factory -->
               <attribute name="TopicFactoryRef">java:/SunOneTopicXAConnectionFactory</attribute>
               <attribute name="Properties">
               java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
              java.naming.provider.url=file:///home/jsalvo/workspace/softgame-latest/development/conf/sunone/mq/test
               </attribute>
               </mbean>
              


              So far, everything is starting up ... though I have not yet tried anything useful.
              Will update soon.

              John