Hi guys,
I wonder if there is somebody to help me with this issue[1]?
Issue:
Any call leaving EJB is checked if there is no active transaction[2]. WFLY
code communicate with WFTC which maintains its own notion about active
transactions (and Narayana code maintains its own too).
If there is a transaction imported from incoming WS call (XTS trasaction)
then Narayana code suspends transactions at its side before EJB checker is
called. But in case of WFTC the notion about the transaction status is
untouched. Thus EJB checker then throws exceptions.
Solution:
I'm thinking to create a new WS handler which would suspend the WFTC
transaction similar how Narayana code does so[3]. But I need to add a new
WS handler as dependency to the app deployment for that works[4]. Thus I
would need a special WFLY module containing the handler, depending on WFTC,
Narayana, XTS and WS modules.
There is no such module having that kind of dependencies currently.
Creating a special module for single java class sounds me wrong.
Would have somebody an idea of handling this type of situation?
I would think is there some option to create a dynamic module
programmatically to register the WS handler? I was checking about options
to register WS handler in instance but that seems not possible in WFLY
integration code.
Thank you for any thought
Ondra
[1]
https://issues.jboss.org/browse/WFLY-9455: Unable to roll back active
transaction thrown for EJB bridge transactions
[2]
https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java...
[3]
https://github.com/jbosstm/narayana/blob/master/txbridge/src/main/java/or...
[4]
https://github.com/wildfly/wildfly/blob/master/xts/src/main/java/org/jbos...