[jboss-jira] [JBoss JIRA] (WFLY-11629) Transaction service isn't available when dynamically adding transactional annotation
Ondra Chaloupka (Jira)
issues at jboss.org
Tue Feb 5 04:25:01 EST 2019
[ https://issues.jboss.org/browse/WFLY-11629?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13691048#comment-13691048 ]
Ondra Chaloupka commented on WFLY-11629:
----------------------------------------
[~juagonza] I see your point. First I would argue that by deploying to different containers you need to apply some of their habits. The class loading in WildFly is based on modules. If you mind changing the {{META-INF}} you can still use the descriptor {{jboss-deployment-structure.xml}} to get the same.
I understand the argument that same example works for Paraya. From the implementation perspective I don't like the need of adding the JTS modules to dependency even if it's not necessary.
By me the benefit of current behaviour is that the dependency is not forced up to time it's needed by the application (which declares {{@Transactional}} annotation). I think there are still some trade-offs which need to be done.
For sure this behaviour should be documented.
> Transaction service isn't available when dynamically adding transactional annotation
> ------------------------------------------------------------------------------------
>
> Key: WFLY-11629
> URL: https://issues.jboss.org/browse/WFLY-11629
> Project: WildFly
> Issue Type: Bug
> Components: Transactions
> Affects Versions: 15.0.1.Final
> Reporter: Juan Gonzalez
> Assignee: Ondra Chaloupka
> Priority: Major
> Attachments: wildfly_dynamic_tx_reproducer.zip
>
>
> When adding dynamically a transactional annotation, transactional module isn't loaded, so transactions aren't available and throws this error:
> {noformat}
> javax.persistence.TransactionRequiredException: WFLYJPA0060: Transaction is required to perform this operation (either use a transaction or extended persistence context)
> {noformat}
> I've attached a reproducer with a test in order to reproduce this. There you can see that there is a CDI producer that dynamically adds the annotation for transactions, that doesn't work.
> [~mkouba] found this could be an optimization for not loading JTS module: https://github.com/wildfly/wildfly/blob/master/transactions/src/main/java/org/jboss/as/txn/deployment/TransactionDependenciesProcessor.java#L74-L76
> In order to execute tests:
> mvn clean test
> To execute test, passing in Payara:
> mvn clean test -Ppayara
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list