[hibernate-dev] WebSphereExtendedJtaPlatform (HHH-11606)

Gail Badner gbadner at redhat.com
Wed May 3 03:48:40 EDT 2017


Currently, in master and 5.1, WebSphereExtendedJtaPlatform will not work
for any tasks that use a DdlTransactionIsolatorJtaImpl.

The problem is that DdlTransactionIsolatorJtaImpl calls
TransactionManager#suspend and #resume on the TransactionManager returned
by WebSphereExtendedJtaPlatform#locateTransactionManager, which throws
UnsupportedOperationException.

I see that Christian suggested a custom JtaPlatform to work around this
issue.[1], which is basically the same as WebSphereJtaPlatform for
WebSphereEnvironment#WS_5_1.

If com.ibm.ws.Transaction.TransactionManagerFactory really has been working
since 5.1, it should be safe to update WebSphereExtendedJtaPlatform as
Christian proposed. That would be the simplest, but, I see that
com.ibm.ws.Transaction.TransactionManagerFactory is not listed in
WebSphere's Application Server API. [2]

I see that WebSphereExtendedJtaPlatform uses classes
in com.ibm.websphere.jtaextensions, which are listed in WebSphere's
Application Server API. I think it would be  good thing for Hibernate to
only depend on the API. Unfortunately, I see that the API still does not
expose the TransactionManager.

Is there any way that
WebSphereExtendedJtaPlatform$TransactionManagerAdapter could implement
#suspend and #resume without referring to
com.ibm.ws.Transaction.TransactionManagerFactory? I suspect not, but
figured I'd ask.

Other than that, alternatives I see are:
1) Deprecate WebSphereExtendedJtaPlatform in favor of WebSphereJtaPlatform;
2) Change WebSphereExtendedJtaPlatform as Christian suggested (using
com.ibm.ws.Transaction.TransactionManagerFactory);

Other ideas?

Thanks,
Gail

[1]
https://hibernate.atlassian.net/browse/HHH-11606?focusedCommentId=92405&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-92405
[2]
https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websphere.javadoc.doc/web/apidocs/index.html


More information about the hibernate-dev mailing list