Hi:

We have a subsystem that should run only on one node (I'll call it the master 
node) of our cluster (right now, it's the coordinator of the cluster). We need 
to be able to send messages to a queue or topic from every node but we only 
want the node that runs the above mentioned service (the master node) to pick 
up those messages. (we use JBoss messaging and clustered queues for many other 
subsystems so we cannot set up JBoss messaging in a non-clustered way).

I originally thought that in this case, I can have that single node to 
subscribe to the queue programatically (instead of using MDBs) to achieve my 
goal. But it turned out that it's against J2EE spec to register a listener 
using setMessageListener inside an app server.  On the other hand, if I use 
MDBs it means that any node may pick up any message.

Is there a way to do this? I have a few ideas but I'm not sure if they make 
sense or if they are at all possible:

1- Create the queue as non-clustered. Then have the "master node" put the 
connection factory to its own local queue  on HA-JNDI and have other nodes look 
it up form there and send it directly to the lcoal queue of the master node 
(rather than using a clustered connection factory, etc)

2- Create a topic rather than a queue. This way, every node gets those 
messages. Then I'll make it such that a node ignores those messages unless it 
is the master node. But this means a lot of waste.

3- Create a queue programatically only on the master node and publish it on 
HA-JNDI. But then how can the master node subscribe to that programaticaly 
created queue ?


I'd appreciate any help on this. Sorry if my question is dumb. I'm new to JMS. 

Thanks

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4225489#4225489

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4225489
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to