|
From: <jue...@we...> - 2004-09-04 13:30:07
|
Thanks, Thomas! This means that there *is* a way to make it work on =
WebLogic 7! Eugene, Dmitri, your pain finally has an end! :-)
=20
Regarding obtaining the TransactionManager via the TxHelper on WebLogic =
7: That can easily be factored out into a custom FactoryBean, like we =
did for WebSphere (see WebSphereTransactionManagerFactoryBean), to be =
passed into JtaTransactionManager's respectively =
WebLogicJtaTransactionManager's "transactionManager" property. So we =
don't need a further JtaTransactionManager subclass for this, just a =
further TransactionManager lookup strategy.
=20
BTW, Dmitri told me that the WebLogic UserTransaction object at =
"java:comp/UserTransaction" implements the TransactionManager interface =
too, but that obviously forceResume doesn't work there... I assume the =
ClientTransactionManagerImpl is returned there, not the =
ServerTransactionManagerImpl.
=20
If we can double-check that this works better than the =
TransactionManager fetched from JNDI, I suggest to add a =
WebLogicServerTransactionManagerFactoryBean (or a similar name), clearly =
documenting that this is meant as an alternative to the standard JNDI =
TransactionManager reference that WebLogic provides, mainly for WebLogic =
7. I wouldn't mind to do this even for the 1.1 final release tomorrow...
=20
Is the TxHelper lookup available on WebLogic 8.1 too? Of course, it =
shouldn't be necessary there, as the standard JNDI TransactionManager =
reference will work too. I just wonder whether it's available and would =
work in principle: People could then configure a =
WebLogicServerTransactionManagerFactoryBean to be able to deploy on both =
WebLogic 7 and WebLogic 8, without adapting their Spring configuration.
=20
Of course, such a WebLogicServerTransactionManagerFactoryBean would have =
to be coded via reflection to avoid compile-time dependencies on =
WebLogic, analogous to WebSphereTransactionManagerFactoryBean. Do you =
have the chance to do this before tomorrow, Thomas?
=20
Juergen
=20
________________________________
Von: spr...@li... im Auftrag =
von Thomas Risberg
Gesendet: Sa 04.09.2004 14:30
An: spr...@li...
Betreff: Re: [Springframework-developer] WLS 7 and TX suspend/resume - =
continue.
I have done some additional testing for this issue and this is what I
have found.
WebLogic exposes a client TransactionManager implementation via JNDI=20
(weblogic.transaction.internal.ClientTransactionManagerImpl) and in WLS
7.0 it is throwing an NPE when you call forceResume (with or without a
suspended transaction that has been marked for RollbackOnly).
They also have a different server implementation
(weblogic.transaction.internal.ServerTransactionManagerImpl) that is
returnd by a call to TxHelper.getTransactionManager(). With this TM the
force resume works as expected.
So the workaround for now is to do the suspend/resume using the TM
returned by TxHelper before calling the Spring managed code.
Alternatively we could provide a WebLogic7JtaTransactionManager that
uses this method of obtaining the TM.
I doubt that BEA will fix this issue in WLS 7.0. They will probably
suggest to upgrade to 8.1 or use the TxHelper to obtain the TM.
Thomas
j=FCrgen h=F6ller [werk3AT] wrote:
>Ideally, WebLogic should work properly with standard JTA =
TransactionManager resume in all cases, not needing the proprietary =
forceResume call. However, the least we can expect is that forceResume =
works properly: You could send a corresponding bug report to BEA, for =
WebLogic 7.0. However, they might tell you that they fixed the issue in =
WebLogic 8.1...
>
>Juergen
>
>
>________________________________
>
>Von: spr...@li... im Auftrag =
von j=FCrgen h=F6ller [werk3AT]
>Gesendet: Fr 03.09.2004 23:31
>An: spr...@li...
>Betreff: Re: [Springframework-developer] WLS 7 and TX suspend/resume - =
continue.
>
>
>
>As I already wrote in my JIRA comments: Many thanks for your efforts, =
Dmitri!
>
>I assume that with JtaTransactionManager, you'll get an =
IllegalStateException ("cannot resume rollback-only transaction" or the =
like), and with WebLogicJtaTransactionManager, you'll get the NPE in =
WebLogic code?
>
>This really seems to be a bug in WebLogic 7.0... At least it should =
work properly as long as not suspending a transaction that has been =
marked as rollback-only.
>
>Juergen
>
>
>________________________________
>
>Von: spr...@li... im Auftrag =
von Dmitri Maximovich
>Gesendet: Fr 03.09.2004 23:07
>An: spr...@li...
>Betreff: [Springframework-developer] WLS 7 and TX suspend/resume - =
continue.
>
>
>
>I just tried WLS 7 with Spring 1.1rc2 and BMT transaction demaraction. =
It
>doesn't work with standard JtaTransactionManager or with
>WeblogicJtaTransactionManager, so something fundamentally broken in =
WLS7 (same
>NPE as described in JIRA SPR-251).
>Next I'll try to use WLS TransactionManager (exposed in JNDI) to =
suspend/resume
>transaction without Spring to see it it's going to work.
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by BEA Weblogic Workshop
>FREE Java Enterprise J2EE developer tools!
>Get your free copy of BEA WebLogic Workshop 8.1 today.
>http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by BEA Weblogic Workshop
>FREE Java Enterprise J2EE developer tools!
>Get your free copy of BEA WebLogic Workshop 8.1 today.
>http://ads.osdn.com/?ad_idP47&alloc_id=10808&op=3Dick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>
>-------------------------------------------------------
>This SF.Net email is sponsored by BEA Weblogic Workshop
>FREE Java Enterprise J2EE developer tools!
>Get your free copy of BEA WebLogic Workshop 8.1 today.
>http://ads.osdn.com/?ad_idP47&alloc_id=10808&op=3Dclick
>_______________________________________________
>Springframework-developer mailing list
>Spr...@li...
>https://lists.sourceforge.net/lists/listinfo/springframework-developer
>
>
>
>=20
>
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=3D5047&alloc_id=3D10808&op=3Dclick
_______________________________________________
Springframework-developer mailing list
Spr...@li...
https://lists.sourceforge.net/lists/listinfo/springframework-developer
|