I'm glad you found a fix.

If I understand correctly, the broker accepts those messages with an open
transaction when run under Windows but not under Linux.  That sounds very
unexpected given that the broker is a Java process that should run
identically on any O/S, and it would indicate a bug in ActiveMQ (or the
JVM).  When you have a little time, would you please boil down your
producer and consumer code and your broker config to produce a minimal
setup that sends messages under Windows but (correctly) doesn't send them
under Linux?  Once you have that, create a bug in JIRA and attach your code
and config and someone can look at what causes this apparent difference in
behavior.

Tim
On May 4, 2015 7:43 AM, "tiger3" <hli...@gmail.com> wrote:

> Thanks for the reply, Tim. Days and weekend hours were spent in the
> investigation of many possible causes of this issue. Eventually, I found
> that the transaction was turned on for the session while the commit() was
> never called. That is the root cause of the issue, very simple.
>
> However, I just could not believe such a problem was not emerged long ago
> in
> the project I am on. That piece of buggy code has been there for quite a
> few
> months and tested many times without seeing this problem. In other words,
> the commit() was not called, and the message was put into the queue without
> problem with transactional=true. This is something I still feel mysterious.
>
> Thanks.
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/message-is-not-shown-in-queue-of-activemq-broker-though-it-is-sent-tp4695998p4696038.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to