We are using OpenMQ 4.5 with an embedded broker running inside the same JVM as some clients.
We dicovered that if the MaxNumMsgs is reached there is no JMSExeption thrown on the queue producers send method.
This is only the case if the producer uses a direct client connecton ("mq://localhost/direct").
The problem ist, that everything looks fine for the producers send and our producer keeps sending messages .... , but these messages are lost.
If we use a tcp connection like "mq://localhost/direct" we get a proper JMSException on the send method and producer will stop sending messages.
Why is openMQ behaving like this?
The direct mode connection clearly isn't propagating the broker error back to the client.
You appear to have found a bug, which I have logged as http://java.net/jira/browse/MQ-95
Thank you for reporting it. Feel free to add any comments to the bug. If you want to follow the progress of that bug you can opt to "watch" it.
You have already found the workaround, which is to use TCP mode to connect to the embedded broker.
thank you for the reply.
I thought about that this could be a bug and therefore I opend this thread.
we are happy with the workaround but we would prefer to use direct connection if it gets fixed.