[
https://issues.apache.org/jira/browse/AMQ-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated AMQ-4699:
-----------------------------
Fix Version/s: NEEDS_REVIEWED
> 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
> Fix For: NEEDS_REVIEWED
>
>
> 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 was sent by Atlassian JIRA
(v6.1#6144)