[
https://issues.jboss.org/browse/WFLY-10258?page=com.atlassian.jira.plugin...
]
Tom Jenkinson commented on WFLY-10258:
--------------------------------------
I was thinking of doing the ordering each time that we commit the TX.
Something like:
tx.begin()
xar1.enlist(EJBRXAR to server 1)
_xars.add(xar1);
xar2.enlist(EJBRXAR to server 2)
_xars.add(xar2)
tx.commit()
xar1.end(); // this thing knows it did work now
xar2.end(); // internally this thing knows it did not do work now
xars.sort(); // xar1 returns 0, xar2 returns -1
xar2.prepare() // RDONLY
xar1.commit1PC()
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)