[jboss-jira] [JBoss JIRA] (WFLY-10258) Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew

David Lloyd (Jira) issues at jboss.org
Thu Nov 15 10:19:00 EST 2018


    [ https://issues.jboss.org/browse/WFLY-10258?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13662087#comment-13662087 ] 

David Lloyd commented on WFLY-10258:
------------------------------------

Comparators rely on stable ordering, but this characteristic of XAResource would be mutable by definition; that kind of thing invites trouble down the road (as a response could come in late and cause a sort to get jammed or other such problems).

> Prevent enlisting additional resources on EJB caller side in case of server side @RequiresNew
> ---------------------------------------------------------------------------------------------
>
>                 Key: WFLY-10258
>                 URL: https://issues.jboss.org/browse/WFLY-10258
>             Project: WildFly
>          Issue Type: Bug
>          Components: EJB, Transactions
>    Affects Versions: 12.0.0.Final
>            Reporter: Jörg Bäsner
>            Priority: Major
>              Labels: downstream_dependency
>
> Scenario:
> - server-1 (intermediary)
> -- Running standalone profile
> -- Has a remote-outbound-connection pointing at server-2 through server-2's public IP address
> -- Intermediary bean need to lookup the Target bean in server-2 and also inject the {{TransactionManager}}
> -- Intermediary bean need to enlist a _dummy_ XAResource 
> - server-2 (target)
> -- disable {{JBOSS-LOCAL-USER}} auth
> -- Target bean needs to be annotated with {{@REQUIRES_NEW}} (important)
> - Standalone EJB client invokes an intermediary bean server-1, which as a result invokes target  bean on server-2. 
> The _dummy_ XAResource should log in the {{commit}} method whether one-phase optimization is being used like:
> {code}
>     @Override
>     public void commit(Xid arg0, boolean onePhaseOptim) throws XAException {
>         logger.info("-- Committing in the client resource. One-phase optimisation is: " + onePhaseOptim + " --"
>                 + (onePhaseOptim ? "" : " -> TWO-PHASE COMMIT !!!"));
>     }
> {code}
> In this scenario it is expected that the one-phase optimization is being used!



--
This message was sent by Atlassian Jira
(v7.12.1#712002)



More information about the jboss-jira mailing list