Joakim von Brandis created AMQ-4699:
---------------------------------------
Summary: Transacted producer does not throw
ResourceAllocationException on error
Key: AMQ-4699
URL: https://issues.apache.org/jira/browse/AMQ-4699
Project: ActiveMQ
Issue Type: Bug
Components: JMS client
Affects Versions: 5.8.0
Environment: ActiveMQ 5.8.0 server
ActiveMQ 5.8.0 client on Java 7
Reporter: Joakim von Brandis
Using a transacted producer session, with sendFailIfNoSpace=true or
sendFailIfNoSpaceAfterTimeout=timeout, the producer gets no error on whether
send() or commit(). Thus, the producer may pour out messages in a transacted
session, which are silently discarded by ActiveMQ.
A connection exception listener will receive ResourceAllocationException, but
since this happens in another thread than the sending client, there is no
guarantee that the client can be notified in time to avoid commit().
Without using sendFailIfNoSpace(AfterTimeout), producer is blocked until space
is available, as expected.
The client should receive error on send() when the resource exhaustion is
reported, and in any case a commit() should not complete without error if the
server has discarded any messages in the transaction.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira