Hi all I have a job's queue, from which a worker receives messages to work on. Each time the worker decides to take a job (it can handle more than on the same time) it calls createQueueSession with transacted=true, creates a consumer, receives a message, and keep these 3 objects until the job's handling is over. If, while the job is handled (and the transacted session is still alive), the worker tries to get another message (by creating a new session and so on), it doesn't get any messages from the queue even if they are messages waiting beside the one it already handles. Even if another worker tries, it gets nothing. This means that the session and consumer the first worker creates, get some how a lock on the queue, and no other consumer can get messages from it.
How can I fix this? I need to keep the session transacted because I want the message to be deleted from the queue only when the worker is done with it. If the worker crashes, for example, I need the message to return to the queue so other workers can handle it. This is working well now. Thanks, Yair -- View this message in context: http://old.nabble.com/One-transacted-consumer-prevents-other-from-consuming-tp27947475p27947475.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.