|
From: Juergen H. <ju...@in...> - 2005-03-14 11:31:18
|
I'm happy to announce that all works well - even better than expected :-) Spring's WebLogicJtaTransactionManager supports transaction names through WebLogic's UserTransaction.begin(name) method now, which works nicely: Spring-managed transactions show up in WebLogic's transaction monitor. Beyond that, I've even been able to figure how per-transaction isolation levels work on WebLogic! This is hidden in the EJB BMT section of the documentation; it's not part of the WebLogic JTA documentation (neither reference nor javadoc). Essentially, a special WebLogic transaction property with the magic key "ISOLATION LEVEL" has to be set, then WebLogic will apply that isolation level to all JDBC connections that participate in the given transaction. This is exactly equivalent to the isolation level setting in WebLogic's EJB CMT descriptor. This means that our WebLogicJtaTransactionManager supports the full power of Spring's transaction definitions on WebLogic's transaction coordinator, beyond standard JTA: transaction names, per-transaction isolation levels, and proper resuming of transactions in all cases. Note that all of this works with public WebLogic API that's available in both WebLogic 7.0 and 8.1. Even if the API details are a bit hidden in the documentation, we're not accessing some not-supported internal mechanisms here, which is certainly a good thing. I've tested this on WebLogic 8.1 SP4; feel free to test the functionality on other WebLogic versions! I'll commit this stuff in a minute. Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...]On Behalf Of Juergen Hoeller Sent: Thursday, March 10, 2005 9:00 PM To: spr...@li... Subject: [Springframework-developer] WebLogic "transaction names" There's an interesting suggestion (by Bart Strubbe) regarding WebLogic's transaction monitor: http://forum.springframework.org/viewtopic.php?t=3981 Essentially, WebLogic's transaction monitor seems to use "transaction names" for monitoring and logging purposes. WebLogic's EJB container automatically leverages this facility. The API to set such a transaction name is WebLogic-specific; we could add support for it to our WebLogicJtaTransactionManager. The main problem is where to get the transaction name from. I'm inclined to extend our TransactionDefinition with a "getName" or "getDescription" method, allowing to pass such a name in. TransactionInterceptor could automatically specify class name plus method name there. Thoughts? Juergen ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |