9 Replies Latest reply on Jun 15, 2012 2:02 PM by Andy Taylor

    How do I limit a jms queue's visibility to only nodes in a cluster?

    Robert Greene Newbie

      How do I limit a JMS queue's visibility to only nodes in a cluster?


      Our application is deployed and installed by the customer; the names of the clusters (partitions) are defined by the customer.


      Given n clusters with different names and queue's with the same name, how do I prevent HornetQ discovery and joining of the JMS queues defined in each cluster?


      I don't want to have to name the queue's uniquely in each cluster, (But I want the queues to be shared by each node in a unique cluster). I don’t want to have to perform network configuration to prevent multi-cast etc, because that would require extensive network configuration by the customer.


      I don't want to have to use selectors. I don’t want any JMS communication between the clusters at all.


      I don't want to have to statically identity the nodes in the cluster.


      What I really want is the HornetQ discovery process to limit itself to the set of cluster names. (In my case one cluster name, the cluster that each node is a part of)



      Is this difficult? I have looked for something like this in the HornetQ documentation and considered something like the following:



            <cluster-connection name="my-cluster">



                <discovery-group-ref discovery-group-name="dg-group1"/>




      And naming the queue's dynamically.


      This seems very crude, and client applications will have to connect and aquire the cluster name before connecting to the queue's.



      Is this the best I can do?