tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gallimore (JIRA)" <j...@apache.org>
Subject [jira] [Work started] (TOMEE-2149) beforeDelivery/afterDelivery should allow zero messages to be delivered
Date Thu, 23 Nov 2017 15:35:01 GMT

     [ https://issues.apache.org/jira/browse/TOMEE-2149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Work on TOMEE-2149 started by Jonathan Gallimore.
-------------------------------------------------
> beforeDelivery/afterDelivery should allow zero messages to be delivered
> -----------------------------------------------------------------------
>
>                 Key: TOMEE-2149
>                 URL: https://issues.apache.org/jira/browse/TOMEE-2149
>             Project: TomEE
>          Issue Type: Bug
>    Affects Versions: 1.7.5, 7.0.4
>            Reporter: Jonathan Gallimore
>            Assignee: Jonathan Gallimore
>
> At present we enforce that exactly one message is delivered between the resource adapter
calling beforeDelivery() and afterDelivery(). The spec actually states that the application
server should allow the resource adapter to not deliver a message.
> From section 13.5.6 of JSR-322:
> "There must not be more than one message delivery in-between a single beforeDelivery
and afterDelivery method call pair. The application server must reject beforeDelivery or afterDelivery
calls that are out of sequence by throwing an IllegalStateException.
> The application server must also allow a resource adapter not to perform any message
delivery in-between a single beforeDelivery and afterDelivery method call pair. This scenario
arises, for instance, when a resource adapter first chooses to deliver a message and calls
beforeDelivery, but later is unable to deliver the message (for example in the case of JMS
resource adapters, the resource adapter may abort the message delivery and transfer the message
to a Dead Message Queue). The resource adapter must be able to call afterDelivery and complete
the delivery cycle. The application server must perform any possible cleanup of actions that
occurred in between the beforeDelivery and afterDelivery method calls."



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message