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

Tom Jenkinson (Jira) issues at jboss.org
Thu Nov 15 09:58:00 EST 2018


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

Tom Jenkinson edited comment on WFLY-10258 at 11/15/18 9:57 AM:
----------------------------------------------------------------

[~dmlloyd] [~flavia.rainone] [~tomekadamski] Could this be solved by allowing an XAResource to provide a comparator that we use to sort the list of XAR before calling prepare? In that way you can return -1 for anything you are going to return RDONLY on.

I added that to https://issues.jboss.org/projects/JBTM/issues/JBTM-3020 in case we discuss there or we could create a new discussion.


was (Author: tomjenkinson):
[~dmlloyd] [~flavia.rainone] [~tomekadamski] Could this be solved by allowing an XAResource to provide a comparator that we use to sort the list of XAR before calling prepare? In that way you can return -1 for anything you are going to return RDONLY on.

> 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