I've been struggling with HornetQ for the past few days. Read the manual, studied the examples etc.
But I can't seem to get the results i'm wishing for:
We've got several servers with hornetq as a node sharing a queue (testqueue).
Messages can be produced and consumed on the same server/nodes (through JMS / Spring). This is working fine.
But we would like to consume all queues with a single consumer on a different server without having to connect to each individual server.
I figured hornetq clustering would give us one big virtual queue (which could be consumed by one consumer), but what we got are different queues who are reached by a 'round robin' like system and filled individually.
Now we also have to connect to all the queues with multiple consumers (?) Which is not wat we want.
So after a lot of research I tried to automatically send all the messages from the different queues to one single queue. So we can use only one consumer (or more) but this consumer would always get all the messages available in the cluster.
I used the clustered group-example. But when I send a message to the HornetQ instance having configured:
We get this error:
java.lang.IllegalStateException: no response received from group handler for Group-0.jms.queue.testQueue
Doing the same on the server with the group handler:
Will keep the message locally and not send it to another HornetQ server.. but will not give us the above error.
I can't find *anything* on this problem, so this is a death end for now.
So I tried some stuff from another topic I found
But configuring it like that will keep all messages locally on the servers, they are not send to the queue in the cluster which do have a consumer ready.
I can not bend my mind around this issue, there must be a solution for this? Are there any pointers in the right direction? Or are we using the wrong queue technology for our issue?