from a WebSphere developer it isn't possible to suspend/resume
transaction in any other way. AFAIK the only "supported" way WebSphere
offers for suspension/resuming transactions is through the use of the
UOW API but that works by supplying a callback.
I think the only way to make this work without bigger changes is to use
com.ibm.ws.Transaction.TransactionManagerFactory.
Mit freundlichen Grüßen,
------------------------------------------------------------------------
*Christian Beikov*
Am 03.05.2017 um 09:48 schrieb Gail Badner:
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&a...
[2]
https://www.ibm.com/support/knowledgecenter/en/SSEQTP_8.5.5/com.ibm.websp...
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev