java - ActiveMQ stops sending messages to Queue Consumer in case of consumer not acknowledging messages -
we have use case wherein create 1 consumer process messages in queue. message processor accumulates number of messages before acknowledging. receiving messages in asynchronous way , using transacted session. size of message small.
active mq stops sending further messages sole consumer after number of messages , waits acknowledgement. have tried solutions consumer.prefetchsize, consumer.maximumpendingmessagelimit; nothing working. tried similar use case durable topic 1 subscriber , works fine.
has encountered similar activemq issue/behavior? tried many things mentioned on different forums none of them helped.
activemq version : activemq 5.6.0
queue configuration : durable queue
consumer : asynchronous , uses transacted session acknowledgement mode
any or suggestion appreciated. thanks.
i had tried out lot of different configurations resolve issue setting different activemq attributes prefetch policy, maxpagesize etc. none of them helped. referring @jake's comment got know monitoring activemq using jmx via jconsole. handy tool monitor , manage activemq. here few article may find useful.
1. monitoring activemq
2. connecting activemq jmx using jconsole
by monitoring queue attributes figured out memorylimit attribute had low value assigned (just 1mb). increasing value of attribute solved issue. jms started sending messages without waiting acknowledgement.
for testing purpose had changed value memorylimit in conf/activemq.xml configuration file.
Comments
Post a Comment