[jbossts-issues] [JBoss JIRA] (JBTM-974) Allow callback invocation for multiple business method invocations

Tom Jenkinson (JIRA) issues at jboss.org
Tue Aug 11 12:21:03 EDT 2015


     [ https://issues.jboss.org/browse/JBTM-974?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Jenkinson updated JBTM-974:
-------------------------------
    Component/s: Compensations
                     (was: TXFramework)


> Allow callback invocation for multiple business method invocations
> ------------------------------------------------------------------
>
>                 Key: JBTM-974
>                 URL: https://issues.jboss.org/browse/JBTM-974
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>          Components: Compensations
>            Reporter: Paul Robinson
>              Labels: TXFramework
>             Fix For: 6.later
>
>
> By setting the 'single' attribute on a Lifecycle Handler Annotation (such as @Prepare or @Compensate) identifies whether more than one callback can be registered for the lifecycle method in response to multiple invocations of the ServiceRequest method. If it is true then the lifecycle method will be called once to the ServiceRequest method. If it is false then the lifecycle method will be called once in response to each (non-read only) call to the ServiceRequest method. The default is 'false'.
> Annotation:
> {code}
> @Retention(RetentionPolicy.RUNTIME)
> @Target(ElementType.METHOD)
> public @interface Compensate
> {
>     public boolean single() default false;
> }
> {code}
> Example:
> {code}
> @ServiceRequest
> public void addToBasket()
> {
>   //Add another item to the basket.
> }
> @Compensate(single=true)
> public void emptyBasket()
> {
>   //Empty every item from the basket
> }
> {code}
> In this example the @ServiceRequest may be invoked many times to add many items to the basket. The @Compensate method is only needed to be invoked once as the basket can be emptied in one operation. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jbossts-issues mailing list