Managing many Hornetq clusters in domain mode for jboss 7
kperry Jul 25, 2012 12:22 PMFirst 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.
- I thought I saw some documentation in a previous release that you could include another profile? Here is some documentation of subprofiles: https://community.jboss.org/wiki/DomainManagementModelDesign and https://community.jboss.org/wiki/JBossAS7UserGuide (under profiles and subsysystems)
- Is this still valid? When I tried it, it gave an xml parsing error.
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?