6 Replies Latest reply on Jun 2, 2007 7:57 AM by timfox

    Installing JBoss Messaging clustered

    sergeypk

      The code to deploy clustered JBoss Messaging configuration was deleted from release-admin.xml making the instructions in the user's guide invalid. Is there an automatic way to deploy a clustered JBM configuration now?

        • 1. Re: Installing JBoss Messaging clustered
          timfox

          I am currently doing a bit of a refactoring, and clustered JBM now runs in the all configuration in JBAS 4.2.0 :)

          (It didn't previously work in all in JBoss 4.0.x)

          I have removed the cluster node creation from release-admin.xml since the script was very brittle since it relied on text pattern matching to replace stuff, which is very hard to maintain and prone to fail when JBAS config changes without us knowing it.

          Now, release-admin.xml simply creates a non clustered config based on another config.

          Creating a clustered config can be done very simply as follows:

          1) Make sure JBOSS_HOME points to a JBoss-4.2.0.GA installation

          2) Create a non clustered config based on "all":

          ant -f release-admin.xml -Dmessaging-config-name=messaging-node0 -Dmessaging-config.source=all
          


          3) Ensure the server id in messaging-service.xml is unique (if you have other nodes)

          4) replace hsqldb-persistence-service.xml with mysql-clustered-persistence-service.xml

          5) Deploy a mysql datasource from jboss-4.2.0.GA/docs/examples/jca

          make sure it is binding to DefaultDS

          6) Copy the mysql driver into server/messaging-node0/lib

          7) If you are running more than config on the same machine use the service binding manager

          Uncomment binding manager service from conf/jboss-service.xml

          Specifiy the desired ports range e.g. ports-01

          in docs/examples/binding-manager/sample-bindings.xml, make sure the jboss messaging config looks like:

          <service-config name="jboss.messaging:service=Connector,transport=bisocket"
           delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
           <delegate-config>
           <attribute name="Configuration"><![CDATA[
           <config>
           <invoker transport="bisocket">
           <attribute name="marshaller" isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
           <attribute name="unmarshaller" isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
           <attribute name="serializationtype" isParam="true">jms</attribute>
           <attribute name="dataType" isParam="true">jms</attribute>
           <attribute name="socket.check_connection" isParam="true">false</attribute>
           <attribute name="timeout" isParam="true">0</attribute>
           <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
           <attribute name="serverBindPort">4457</attribute>
           <attribute name="leasePeriod">10000</attribute>
           <attribute name="callbackStore">org.jboss.remoting.callback.CallbackStore</attribute>
           <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
           <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
           <attribute name="callbackErrorsAllowed">1</attribute>
           <attribute name="numberOfRetries" isParam="true">1</attribute>
           <attribute name="NumberOfCallRetries" isParam="true">2</attribute>
           <attribute name="clientMaxPoolSize" isParam="true">50</attribute>
           </invoker>
           <handlers>
           <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
           </handlers>
           </config>
           ]]></attribute>
           </delegate-config>
           <binding port="4457"/>
           </service-config>
          
           </server>
          


          • 2. Re: Installing JBoss Messaging clustered
            clebert.suconic

             

            "timfox" wrote:

            in docs/examples/binding-manager/sample-bindings.xml, make sure the jboss messaging config looks like:

            <service-config name="jboss.messaging:service=Connector,transport=bisocket"
             delegateClass="org.jboss.services.binding.AttributeMappingDelegate">
             <delegate-config>
             <attribute name="Configuration"><![CDATA[
             <config>
             <invoker transport="bisocket">
             <attribute name="marshaller" isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
             <attribute name="unmarshaller" isParam="true">org.jboss.jms.server.remoting.JMSWireFormat</attribute>
             <attribute name="serializationtype" isParam="true">jms</attribute>
             <attribute name="dataType" isParam="true">jms</attribute>
             <attribute name="socket.check_connection" isParam="true">false</attribute>
             <attribute name="timeout" isParam="true">0</attribute>
             <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
             <attribute name="serverBindPort">4457</attribute>
             <attribute name="leasePeriod">10000</attribute>
             <attribute name="callbackStore">org.jboss.remoting.callback.CallbackStore</attribute>
             <attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
             <attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
             <attribute name="callbackErrorsAllowed">1</attribute>
             <attribute name="numberOfRetries" isParam="true">1</attribute>
             <attribute name="NumberOfCallRetries" isParam="true">2</attribute>
             <attribute name="clientMaxPoolSize" isParam="true">50</attribute>
             </invoker>
             <handlers>
             <handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
             </handlers>
             </config>
             ]]></attribute>
             </delegate-config>
             <binding port="4457"/>
             </service-config>
            
             </server>
            


            Unless someone tell me I can't do that, I will be changing this file:

            http://anonsvn.jboss.org/repos/jbossas/trunk/varia/src/resources/services/binding/sample-bindings.xml

            • 3. Re: Installing JBoss Messaging clustered
              sergeypk

              Just a note, org.jboss.jms.server.remoting.JMSWireFormat changed recently to org.jboss.jms.wireformat.JMSWireFormat. I spent half a day today trying to find out where this wrong class name is being picked up from.

              • 4. Re: Installing JBoss Messaging clustered
                timfox

                 

                "clebert.suconic@jboss.com" wrote:

                Unless someone tell me I can't do that, I will be changing this file:

                http://anonsvn.jboss.org/repos/jbossas/trunk/varia/src/resources/services/binding/sample-bindings.xml



                We also need to update on the 4.2 branch.

                • 5. Re: Installing JBoss Messaging clustered
                  timfox

                   

                  "timfox" wrote:

                  ant -f release-admin.xml -Dmessaging-config-name=messaging-node0 -Dmessaging-config.source=all
                  



                  Of course, this should actually read:

                  ant -f release-admin.xml -Dmessaging.config.name=messaging-node0 -Dmessaging.config.source=all
                  





                  • 6. Re: Installing JBoss Messaging clustered
                    timfox