I have run our datasource test suite with driver module without `javax.transaction.api` dependency (DB2, MariaDB, MS SQL Server, MySQL, Oracle, PostgreSQL, EDB, Sybase) and there are no issues. It uses a manually added module with JDBC driver, not a galleon pack, but I assume it is an equal setup.

Documentation might need some updates too [1].

[1] https://github.com/wildfly/wildfly/blob/main/docs/src/main/asciidoc/_admin-guide/subsystem-configuration/Transactions.adoc?plain=1#L240

On Wed, Sep 14, 2022 at 6:03 PM Brian Stansberry <brian.stansberry@redhat.com> wrote:
I've noticed that the module.xml files for the various driver modules in wildfly-datasources-galleon-pack, e.g. [1], include a dependency on the 'javax.transaction.api' module. I wonder if this is needed and if there's a good way to check if not.

The javax.transaction.xa package is required by JDBC, but that package comes from Java SE and is not exposed by our 'javax.transaction.api' module. Our module exposes the Jakarta Transactions API, which, even in its EE 8 javax namespace form did not include javax.transaction.xa. Use of the Jakarta Transactions API is not part of the JDBC spec, so it's not a given that a 'javax.transaction.api' module dep is needed.

I suppose it's possible that one or more of the drivers we support in wildfly-datasources-galleon-pack uses JTA internally, or did in some release, in which case removing the module.xml dep would break things. Note though that use of EE 8 Jakarta Transactions wouldn't work anyway for WF Preview or standard WildFly 27 and later, as those server versions do not expose jakarta.* namespace JTA.


Best regards,
Brian
_______________________________________________
wildfly-dev mailing list -- wildfly-dev@lists.jboss.org
To unsubscribe send an email to wildfly-dev-leave@lists.jboss.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s