hornetq guarantee that the message reached the queue

I am using org.hornetq.api.core.client how can I guarantee the message that I am sending actually reached the queue (not the client, just the queue) ?

producer.send("validQueue",clientMessage) 

please note that the queue is a valid queue .

this similar question is referring to invalid queue. other ones such as this one is relevant to the delivery to the client .

Answers


It really depends on how you are sending.

First question of yours was about First of all, on JMS you have to way to send to an invalid queue since the producer will validate the queue's existence. On HornetQ core api you send to an address (not to a queue), and you may have an unbound queue. So you have to query if the address has queues or not.

Now, for confirmation the message was received:

  • Scenario I, persistent messages, non transactionally

Every message is sent blocked. The client will unblock as soon as the server acknowledged receiving the message. This is done automatically.. you don't have to do anything.

  • Scenario II, non persistent messages, non transactionally

There are no confirmations by default. The message is sent asynchronously. We assume the message is transient and it's not a big deal if you lost it. you can change that by setting block-on-non-persistent-send on the ServerLocator.

  • Scenario III, transactionally (either persistent or not).

As soon as you call commit the message is on the queues.

  • Scenario IV, Confirmation send

You set a callback and you get a method call as soon as the server acked it on the queues. Look on the manual for confirmation callback. There's also the same feature on JMS2.


Need Your Help

Random characters inside URL with vb.net

c# vb.net loops random webrequest

I'm doing a webrequest and need to input static + random characters (numbers and letters) inside every url request:

Replace encoded characters for iframes only Jquery

javascript jquery html iframe

The WYSIWYYG editor in the CMS I am using is striping out the iframe code so that this code