[
https://issues.jboss.org/browse/WFLY-3801?page=com.atlassian.jira.plugin....
]
Tom Jenkinson commented on WFLY-3801:
-------------------------------------
{quote}
Looks like we could get rid of this warning with suspending the TX in at
org.jboss.as.jpa.transaction.TransactionUtil$SessionSynchronization.afterCompletion(TransactionUtil.java:154)
before calling entity manager.close()
{quote}
My tests show that if you call suspend in afterCompletion with JTS mode you will get a
SystemException as allowed within the spec. This is because it is an "undefined
transaction context". Suspend goes through the same code path with respect to
getStatus in order to access the possibly remote transaction control. Unlike with
getStatus where only a WARN is issued if this undefined transaction context scenario
(inactive coordinator) is detected, a SystemException is also thrown here to indicate the
error condition.
Wrong Transaction behaviour for EJBs if JTS is enabled
------------------------------------------------------
Key: WFLY-3801
URL:
https://issues.jboss.org/browse/WFLY-3801
Project: WildFly
Issue Type: Bug
Components: EJB, Transactions
Affects Versions: 8.1.0.Final
Environment: standalone-full profile with JTS enabled
Reporter: Wolf-Dieter Fink
Assignee: David Lloyd
Attachments: 456a624-withDestroy.log, 8d49872-error.log, enableJTS.cli,
reproducer.zip, server.log
If JTS is enabled the invocation of EJB's might show a arjuna warning for each method
invocation:
WARN [com.arjuna.ats.jts] (RequestProcessor-5) ARJUNA022261: ServerTopLevelAction
detected that the transaction was inactive
This is only the case if other resources are involved, i.e. a DB via JPA.
If a simple bean is used (like ejb-remote quickstart) this warning is not shown.
It looks like the transaction is local commited but in case of a SFSB @Remove method the
result is a " WFLYEE0006: Failed to destroy component instance Instance of
SFTestBean" and the lifecycle method @PreDestroy is not invoked.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)