activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fehm <Felix....@cern.ch>
Subject Re: Expired message - does it work?
Date Tue, 29 Sep 2009 14:55:01 GMT

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--tp25645401p25664651.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message