It turns out I am using topic and when my consumer is destroyed, all
messages also destroyed, but the stats still lingering in the jconsole and
this is were confusion starts.
thanks
-Dan
Dan Tran wrote:
>
>
> Hi Felix,
>
> Thanks for the info, both of my producer and consumer's clocks are synced.
>
> To stop the message transfer from producer to consumer, I send a control
> message to produce trigger it to stop and then shutdown the consumer
> listener. That is why we can see some messages left on the queue
>
> thanks
>
> -Dan
>
>
> fehm wrote:
>>
>> Hi Dan,
>>
>> If you play with message expiration make sure that your
>> consumer/broker/producer have the same time since the TimeTtoLive of the
>> message is set relative to your producer. If you broker is in the future
>> relative to your producer and the gap is greater than your TTL you won't
>> see any messages on the consumer.
>>
>> How exactly do you "stop" you consumer ?
>> Remember that a the dequeue counter only increase if message has been
>> acknowledged by the consumer. Inflight again means that this number of
>> messages have not (yet) been acknowledged by the consumer.
>> Can it be that the consumer received the message but couldn't ack the 13
>> messages since you stopped it ?
>>
>>
>> Cheers,
>> Felix
>>
>>
>>
>>
>> Dan Tran wrote:
>>>
>>>
>>> Hi, I am testing 5.3-SNAPSHOT to pick up expired message enhancement
>>> where the message will be automatically removed when timed out.
>>>
>>> I have multiple topics with each has a pair of producer/consumer. All
>>> messages are memory base, where 'memoryUsage' is used to do the producer
>>> flow control. All producer messages are set to have time to live value.
>>> However, when I stop both producer and consumer during a heavy producer
>>> to consumer communication. Some messages are left in the queue. The
>>> jconsole shows the expiredCount only set at 0 after waiting for time to
>>> expired.
>>>
>>> Here is some stats at my topic.
>>>
>>> enqueueCount=21699
>>> dispatchCount=31698
>>> dequeueCount=21685
>>> inFlightCount=13
>>> expriredCount=0
>>>
>>> consumerCount=0
>>> producerCount=0 ( still alive but does nothing )
>>>
>>> queueSize=21699
>>>
>>> here is my broker configuration
>>>
>>> <amq:broker useJmx="true" persistent="false" advisorySupport="false">
>>>
>>> <!-- Destination specific policies using destination names or
>>> wildcards -->
>>>
>>> <amq:destinationPolicy>
>>> <amq:policyMap>
>>> <amq:policyEntries>
>>> <amq:policyEntry topic=">" producerFlowControl="true"
>>> memoryLimit="${fdb.broker.agent.memoryLimit} mb" />
>>> </amq:policyEntries>
>>> </amq:policyMap>
>>> </amq:destinationPolicy>
>>>
>>> <amq:sslContext>
>>> <amq:sslContext
>>> keyStore="file:${FORTIDB_HOME}/conf/.jmsBrokerKeyStore"
>>> keyStorePassword="${fdb.broker.keyStorePassword}" />
>>> </amq:sslContext>
>>>
>>> <!-- The maximum about of space the broker will use before slowing
>>> down producers -->
>>> <amq:systemUsage>
>>> <amq:systemUsage>
>>> <amq:memoryUsage>
>>> <amq:memoryUsage limit="${fdb.broker.memoryUsage} mb" />
>>> </amq:memoryUsage>
>>> </amq:systemUsage>
>>> </amq:systemUsage>
>>>
>>> <amq:transportConnectors>
>>> <amq:transportConnector
>>> uri="${fdb.broker.protocol}://0.0.0.0:${fdb.broker.port}" />
>>> </amq:transportConnectors>
>>>
>>>
>>> </amq:broker>
>>>
>>>
>>> Any helps and suggestion are greatly appreciated.
>>>
>>> -Dan
>>>
>>>
>>>
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Expired-message---does-it-work--tp25645401p25710675.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
|