5 Replies Latest reply on Aug 2, 2012 12:37 PM by kperry

    Managing many Hornetq clusters in domain mode for jboss 7

    kperry Newbie

      First off all, I have a couple of hornetq clusters setup in domain mode using the latest jboss 7.1.1, but if you have multiple clusters, it seems like the administration can become cumbersome so I thought I would ask for feedback on best practices.

       

      Socket Groups

      No question here, I think I have this part figured out.  If I have two hornetq clusters and each one has their own mulitcast address and multicast port, I figured out that 7.1.1 doesn't include this fix (https://issues.jboss.org/browse/JBPAPP-8178) to allow socket groups to be used with broadcast groups and discovery groups with hornetq.  To fix that I did the following:

      • Added a new socket binding:      <socket-binding name="messaging-group" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
      • To use the socket binding, just add <socket-binding>messaging-group</socket-binding> where you want to use it (under broadcast-group and under discovery-group sections in the hornetq section of your profile)

       

      Profiles and JMS destinations

      Each cluster has its own set of queues.  I have two questions:

       

      Subprofiles

      Question 1: Is it possible to base one profile off of another?? The only thing different about my profile (now that I have the socket group thing figured out) is my queues.

       

      Including JMS Destinations (queues and topics) with your deployment

      Question 2:  If it isn't possible to use subprofiles anymore, what is different about deploying destinations with your jar/ear using a * jms.xml file?

      • In Standalone Mode (for testing), if I add a jms.xml file to META-INF folder in my ear containing the following contents:

       

       

       

       

      <?xml version="1.0" encoding="UTF-8"?>
      <messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0">
          <hornetq-server>
              <jms-destinations>
                  <jms-queue name="testDeployQueue">
                  <entry name="queue/testDeployQueue"/>
                  <entry name="java:jboss/exported/jms/queue/testDeployQueue"/>
                  </jms-queue>
                  <jms-topic name="topic1">
                      <entry name="java:/topic1"/>
                  </jms-topic>
              </jms-destinations>
          </hornetq-server>
      </messaging-deployment>
      
      

       

       

       

       

       

      • While I see that these bind correctly in the server log, they don't show up under Runtime-->JMS Destinations in the console.  They also don't show up under Profile --> Messaging Provider, but they do show up under Profile --> Naming
      • Is this the expected behavior and a best practice?