You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by thiamteck <th...@gmail.com> on 2008/03/26 18:04:43 UTC

Message enter ActiveMQ.DLQ after consumer reconnect

Hi,

I am using ActiveMQ 5.0 on Windows XP and Windows 2003.

My program send a persistent message to queue with timeToLive = 3 seconds.
The message enter into ActiveMQ.DLQ after timeout.

Then I have start a consumer to the queue with connection URI below, where
"jms.redeliveryPolicy.maximumRedeliveries=-1" means unlimited redelivery
according to documnetation:
tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0&jms.redeliveryPolicy.maximumRedeliveries=-1


Then I stop the consumer, and send another persistent message with
timeToLive = 3 seconds. This time the message do not enter ActiveMQ.DLQ
after timeout.

After a while, I start my consumer again and expect the consumer able to
receive the message. But once the consumer connected to ActiveMQ, then
pending message was enter into ActiveMQ.DLQ.

So below is my questions:
1) It is my assumption invalid and this is this the expected behavior of
ActiveMQ? or this is some sort of bugs in ActiveMQ?
2) Anyway to tweak the producer/consumer/queue so that consumer can receive
the message even it already exceed the timeout and redelivery?

Thank you.

Truly,
Thiam Teck
-- 
View this message in context: http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16306220.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Message enter ActiveMQ.DLQ after consumer reconnect

Posted by thiamteck <th...@gmail.com>.
Hi rajdavies,

Thanks for your reply. And I have one more question, is there any way for
queue consumer to ensure message never enter into DLQ regardless what was
set at producer? (or in another word, a "durable" queue consumer)

Thank you.


rajdavies wrote:
> 
> 
> On 28 Mar 2008, at 06:41, thiamteck wrote:
> 
>>
>> My college just told me that the message only enter DLQ after consumer
>> reconnect, if the consumer is same server as the ActiveMQ. Anyway, I  
>> not yet
>> test it out myself.
>>
>>
> This is something we need to add - to actively timeout messages -  
> currently we rely on either the delivery mechanism to a consumer to do  
> this or a memory limit to be reached on the broker
>> PM wrote:
>>>
>>> Sorry, i can't really help with answering your question, but i  
>>> though I
>>> would also show my interest in this topic..
>>>
>>> basically I too am confused as to why messages only get DLQ'd when  
>>> there
>>> active consumers even when the time to live on the message is vasly
>>> exceeded,
>>>
>>>
>>> thiamteck wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am using ActiveMQ 5.0 on Windows XP and Windows 2003.
>>>>
>>>> My program send a persistent message to queue with timeToLive = 3
>>>> seconds. The message enter into ActiveMQ.DLQ after timeout.
>>>>
>>>> Then I have start a consumer to the queue with connection URI below,
>>>> where "jms.redeliveryPolicy.maximumRedeliveries=-1" means unlimited
>>>> redelivery according to documnetation:
>>>> tcp://127.0.0.1:61616? 
>>>> wireFormat 
>>>> .maxInactivityDuration=0&jms.redeliveryPolicy.maximumRedeliveries=-1
>>>>
>>>>
>>>> Then I stop the consumer, and send another persistent message with
>>>> timeToLive = 3 seconds. This time the message do not enter  
>>>> ActiveMQ.DLQ
>>>> after timeout.
>>>>
>>>> After a while, I start my consumer again and expect the consumer  
>>>> able to
>>>> receive the message. But once the consumer connected to ActiveMQ,  
>>>> then
>>>> pending message was enter into ActiveMQ.DLQ.
>>>>
>>>> So below is my questions:
>>>> 1) It is my assumption invalid and this is this the expected  
>>>> behavior of
>>>> ActiveMQ? or this is some sort of bugs in ActiveMQ?
>>>> 2) Anyway to tweak the producer/consumer/queue so that consumer can
>>>> receive the message even it already exceed the timeout and  
>>>> redelivery?
>>>>
>>>> Thank you.
>>>>
>>>> Truly,
>>>> Thiam Teck
>>>>
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16346636.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16395624.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Message enter ActiveMQ.DLQ after consumer reconnect

Posted by Rob Davies <ra...@gmail.com>.
On 28 Mar 2008, at 06:41, thiamteck wrote:

>
> My college just told me that the message only enter DLQ after consumer
> reconnect, if the consumer is same server as the ActiveMQ. Anyway, I  
> not yet
> test it out myself.
>
>
This is something we need to add - to actively timeout messages -  
currently we rely on either the delivery mechanism to a consumer to do  
this or a memory limit to be reached on the broker
> PM wrote:
>>
>> Sorry, i can't really help with answering your question, but i  
>> though I
>> would also show my interest in this topic..
>>
>> basically I too am confused as to why messages only get DLQ'd when  
>> there
>> active consumers even when the time to live on the message is vasly
>> exceeded,
>>
>>
>> thiamteck wrote:
>>>
>>> Hi,
>>>
>>> I am using ActiveMQ 5.0 on Windows XP and Windows 2003.
>>>
>>> My program send a persistent message to queue with timeToLive = 3
>>> seconds. The message enter into ActiveMQ.DLQ after timeout.
>>>
>>> Then I have start a consumer to the queue with connection URI below,
>>> where "jms.redeliveryPolicy.maximumRedeliveries=-1" means unlimited
>>> redelivery according to documnetation:
>>> tcp://127.0.0.1:61616? 
>>> wireFormat 
>>> .maxInactivityDuration=0&jms.redeliveryPolicy.maximumRedeliveries=-1
>>>
>>>
>>> Then I stop the consumer, and send another persistent message with
>>> timeToLive = 3 seconds. This time the message do not enter  
>>> ActiveMQ.DLQ
>>> after timeout.
>>>
>>> After a while, I start my consumer again and expect the consumer  
>>> able to
>>> receive the message. But once the consumer connected to ActiveMQ,  
>>> then
>>> pending message was enter into ActiveMQ.DLQ.
>>>
>>> So below is my questions:
>>> 1) It is my assumption invalid and this is this the expected  
>>> behavior of
>>> ActiveMQ? or this is some sort of bugs in ActiveMQ?
>>> 2) Anyway to tweak the producer/consumer/queue so that consumer can
>>> receive the message even it already exceed the timeout and  
>>> redelivery?
>>>
>>> Thank you.
>>>
>>> Truly,
>>> Thiam Teck
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16346636.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>


Re: Message enter ActiveMQ.DLQ after consumer reconnect

Posted by thiamteck <th...@gmail.com>.
My college just told me that the message only enter DLQ after consumer
reconnect, if the consumer is same server as the ActiveMQ. Anyway, I not yet
test it out myself.


PM wrote:
> 
> Sorry, i can't really help with answering your question, but i though I
> would also show my interest in this topic..
> 
> basically I too am confused as to why messages only get DLQ'd when there
> active consumers even when the time to live on the message is vasly
> exceeded, 
> 
> 
> thiamteck wrote:
>> 
>> Hi,
>> 
>> I am using ActiveMQ 5.0 on Windows XP and Windows 2003.
>> 
>> My program send a persistent message to queue with timeToLive = 3
>> seconds. The message enter into ActiveMQ.DLQ after timeout.
>> 
>> Then I have start a consumer to the queue with connection URI below,
>> where "jms.redeliveryPolicy.maximumRedeliveries=-1" means unlimited
>> redelivery according to documnetation:
>> tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0&jms.redeliveryPolicy.maximumRedeliveries=-1
>> 
>> 
>> Then I stop the consumer, and send another persistent message with
>> timeToLive = 3 seconds. This time the message do not enter ActiveMQ.DLQ
>> after timeout.
>> 
>> After a while, I start my consumer again and expect the consumer able to
>> receive the message. But once the consumer connected to ActiveMQ, then
>> pending message was enter into ActiveMQ.DLQ.
>> 
>> So below is my questions:
>> 1) It is my assumption invalid and this is this the expected behavior of
>> ActiveMQ? or this is some sort of bugs in ActiveMQ?
>> 2) Anyway to tweak the producer/consumer/queue so that consumer can
>> receive the message even it already exceed the timeout and redelivery?
>> 
>> Thank you.
>> 
>> Truly,
>> Thiam Teck
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16346636.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Message enter ActiveMQ.DLQ after consumer reconnect

Posted by PM <pr...@bigfoot.com>.
Sorry, i can't really help with answering your question, but i though I would
also show my interest in this topic..

basically I too am confused as to why messages only get DLQ'd when there
active consumers even when the time to live on the message is vasly
exceeded, 


thiamteck wrote:
> 
> Hi,
> 
> I am using ActiveMQ 5.0 on Windows XP and Windows 2003.
> 
> My program send a persistent message to queue with timeToLive = 3 seconds.
> The message enter into ActiveMQ.DLQ after timeout.
> 
> Then I have start a consumer to the queue with connection URI below, where
> "jms.redeliveryPolicy.maximumRedeliveries=-1" means unlimited redelivery
> according to documnetation:
> tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0&jms.redeliveryPolicy.maximumRedeliveries=-1
> 
> 
> Then I stop the consumer, and send another persistent message with
> timeToLive = 3 seconds. This time the message do not enter ActiveMQ.DLQ
> after timeout.
> 
> After a while, I start my consumer again and expect the consumer able to
> receive the message. But once the consumer connected to ActiveMQ, then
> pending message was enter into ActiveMQ.DLQ.
> 
> So below is my questions:
> 1) It is my assumption invalid and this is this the expected behavior of
> ActiveMQ? or this is some sort of bugs in ActiveMQ?
> 2) Anyway to tweak the producer/consumer/queue so that consumer can
> receive the message even it already exceed the timeout and redelivery?
> 
> Thank you.
> 
> Truly,
> Thiam Teck
> 

-- 
View this message in context: http://www.nabble.com/Message-enter-ActiveMQ.DLQ-after-consumer-reconnect-tp16306220s2354p16324825.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.