Hi Brian.

On 9/15/22 7:04 PM, Brian Stansberry wrote:
On Thu, Sep 15, 2022 at 11:28 AM Jean Francois Denise <jdenise@redhat.com> wrote:
FYI: the version 2.x of the wildfly-datasources-galleon-pack, depends on WF 26.x. A 3.x Alpha version will depend on WF 27 Alpha5. In this release, we will remove the javax.transaction.api dependencies.


Do we know that none of the drivers need this dependency? I know of at least one driver (DB2) that actually uses JTA, or at least incorporates it in bytecode that Graal dead code removal doesn't eliminate:

https://github.com/quarkusio/quarkus/issues/27066

 
Brian, looking at the set of dependencies, I am wandering if javaee.api should be replaced by wildflyee.api? javaee.api is just an alias to wildflyee.api.

Hmm. I didn't notice that. That dependency takes this conversation in a whole new direction, as it basically means all the EE APIs that are provisioned are exposed to the driver module. So just removing javax.transaction.api basically amounts to removing redundant code with no functional effect.
The dependency on javax.transaction.api enforces provisioning of it. wildflyee.api dependencies are all optional but javax.transaction.api is a required dependency of some "datasources" JBoss Modules. So would be provisioned in a datasources usage context.

It's fine to replace javaee.api with wildflyee.api. In fact given https://issues.redhat.com/browse/WFGP-233 it seems necessary, unless there is something I'm not seeing that guarantees javaee.api is always provisioned.
Today the target of an alias is provisioned along with the alias. WFGP-233 would allow the reverse, bring the alias if the target is provisioned.

Thank-you.
JF

On 9/15/22 6:08 PM, Brian Stansberry wrote:
Great; thanks Martin!

On Thu, Sep 15, 2022 at 6:14 AM Martin Simka <msimka@redhat.com> wrote:
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].


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


--
Brian Stansberry
Principal Architect, Red Hat JBoss EAP
He/Him/His

_______________________________________________
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


_______________________________________________
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


--
Brian Stansberry
Principal Architect, Red Hat JBoss EAP
He/Him/His