Hello all,
I have a project that does a lot of work with JMS queues. Currently I am running this locally on a TC server developer instance. I have the JMS connection factory defined via JNDI and it is connecting to ActiveMQ just fine and a message is placed on the queue as it should. The problem is getting the message off of the queue. The ActiveMQ admin page shows the message is there and that there are several active consumers, yet that one message will sit on that queue sometimes for up to 5 min or even 10 minutes before it gets picked off by the message-driven-channel adapter. There is hardly any load at all, I get this even with one message and an idle system.
So I am making use of the message-driven-channel adapter. I have tried it with ActiveMQ, ActiveMQ embedded, HornetQ and I see the same issue on each. I know that this uses the underlying JmsTemplate, but since I am seeing the problem across more than one MQ implementation I assume the problem is with my settings or with Springs JMS stuff. The code example below is just one of my adapters but most of them are similar. I have tried about every combination of the properties trying to fix the problem and have not had any success.
Also to rule out some some sort of computer glitch I can confirm the behavior is the same on another developers machine.
If anyone has any suggestions on how I can get to the bottom of this I would appreciate it.Code:<int-jms:message-driven-channel-adapter channel="labelPostTransformerChannel" destination-name="${labelPostQueue}" acknowledge="transacted" transaction-manager="transactionManager" header-mapper="customJmsHeaderMapper" error-channel="labelPostErrorChannel" concurrent-consumers="5" max-concurrent-consumers="10" idle-consumer-limit="3" idle-task-execution-limit="3" />
Thanks,
Bill


Reply With Quote