[
https://issues.jboss.org/browse/WFLY-11629?page=com.atlassian.jira.plugin...
]
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...
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)