Timothy Bish wrote:
>
> On Wed, 2009-05-27 at 03:20 -0700, mvhoof wrote:
>> Hi,
>>
>> I have a requirement to built a message queue Consumer/producer which
>> works
>> on flaky connections. Now this consumer/producer could be rebooted at all
>> times (we have no control over this). So my challenge is this:
>>
>>
>> Simply sending the Message using a MessageProducer, i know when a message
>> is
>> actually sent, however, this could block the application if the
>> connection
>> is down AND, if the machine is rebooted, i could loose the messages .
>>
>> Using RequestTimeOut, i could bypass the locking issue, however.. how can
>> i
>> find out if a message has been sent or not ? I've read just about
>> everything
>> i could find on ActiveMQ and NMS but this does not show up anywhere ? For
>> building a trusty system, i really need to know if the message has been
>> sent
>> and if not, i can cache it locally until connection is restored.
>>
>> Secondly, is there any way to monitor the connection with the broker
>> using
>> NMS (we are using the failover protocol) so i can retry sending the
>> chached
>> messages as soon as connection is up again ?
>>
>> Many thanks in advance !
>
> If you are disabling the blocking sends then there really isn't a way to
> check that its been sent. The blocking send is waiting for
> acknowledgment from the broker that it received the message if you use
> async sends or use the request timeout option then you give up the
> reliability built into the send mechanism.
>
> Regards
> Tim.
>
>
> --
> Tim Bish
> http://fusesource.com
> http://timbish.blogspot.com/
>
>
>
>
>
Hmm.. ok.. thanks for the answer.
So i can only try to mimic this by controlling the connection myself instead
of using the failover protocol and then try to send the message only if a
connection can be made right ?
--
View this message in context:
http://www.nabble.com/Producer-Acknowledge-in-NMS---tp23739749p23744440.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.