[jboss-jira] [JBoss JIRA] (WFLY-12958) [GSS](7.3.z) Calling Asynchronous EJB will use the propagated caller transaction which is not according to the specification
Cheng Fang (Jira)
issues at jboss.org
Fri Jan 10 16:24:49 EST 2020
[ https://issues.redhat.com/browse/WFLY-12958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13946135#comment-13946135 ]
Cheng Fang commented on WFLY-12958:
-----------------------------------
See discussion in https://issues.redhat.com/browse/JBEAP-18371
> [GSS](7.3.z) Calling Asynchronous EJB will use the propagated caller transaction which is not according to the specification
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-12958
> URL: https://issues.redhat.com/browse/WFLY-12958
> Project: WildFly
> Issue Type: Bug
> Components: EJB
> Reporter: Cheng Fang
> Assignee: Cheng Fang
> Priority: Blocker
> Labels: spec_violation
>
> Asynchronous Invocations are not supposed to be part of the callers transaction because there is no guarantee that the async call is executed in parallel or after the caller already ended.
> This will cause warnings and exceptions if the asynchronous call is trying to use the transaction while the container is commiting or rolling back the transaction.
> It will break compatibility when migrating from earlier version (<=7.0).
> According to the EJB specification
> ~~~quote
> 4.5.3 Transactions
> The client’s transaction context does not propagate with an asynchronous method invocation. From the
> Bean Provider’s point of view, there is never a transaction context flowing in from the client. This
> means, for example, that the semantics of the REQUIRED transaction attribute on an asynchronous
> method are exactly the same as REQUIRES_NEW.
> ~~~
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list