[jboss-jira] [JBoss JIRA] (WFLY-3801) Wrong Transaction behaviour for EJBs if JTS is enabled
Tom Jenkinson (JIRA)
issues at jboss.org
Wed Oct 22 10:54:37 EDT 2014
[ https://issues.jboss.org/browse/WFLY-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13014299#comment-13014299 ]
Tom Jenkinson edited comment on WFLY-3801 at 10/22/14 10:54 AM:
----------------------------------------------------------------
Hi Scott, I will tackle both your comments here.
Yes the warning is meaningful, getStatus was called in an undefined transaction context and so resulted in various warnings.
The spec compliant way to obtain the status during afterCompletion (at least insofar as JTA is concerned) is to use the value provided as the parameter of afterCompletion.
I am still left wondering why HHH needs to know the status during .close(). It looks like if discardOnClose is set to true it would not need to call getStatus:
https://github.com/hibernate/hibernate-orm/blob/master/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/EntityManagerImpl.java#L150
Also, I mentioned on the chat room, I thought that HHH has its own sync registered with the transaction, couldn't it do its transaction status oriented close behaviour with that if it really does need the status?
was (Author: tomjenkinson):
Hi Scott, I will tackle both your comments here.
Yes the warning is meaningful, getStatus was called in an undefined transaction context and so resulted in various warnings.
The spec compliant way to obtain the status during afterCompletion (at least insofar as JTA is concerned) is to use the value provided as the parameter of afterCompletion.
I am still left wondering why HHH needs to know the status during .close(). It looks like if discardOnClose is set to true it would not need to call getStatus:
https://github.com/hibernate/hibernate-orm/blob/master/hibernate-entitymanager/src/main/java/org/hibernate/jpa/internal/EntityManagerImpl.java#L150
Also, I mentioned on the forum, I thought that HHH has its own sync registered with the transaction, couldn't it do its transaction status oriented close behaviour with that if it really does need the status?
> 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)
More information about the jboss-jira
mailing list