On Thursday, January 16, 2003, at 09:10 AM, Barlow, Dustin wrote:
Let me simplify the example to demonstrate my real point. (and hopefullythe only reason is that no one has previously written a distributed tx manager. I wrote the basic stuff we need in jboss 4, it should even work with the trunk invoker.
this is a better example)
In the 3.x series of JBoss, there isn't a way to have one SSB with a
transaction attribute of Required call another SSB with a transaction
attribute of Required on a second jboss instance and have both of those
beans enlist in any kind of "native" JBoss transaction. If you stay within
one instance of JBoss, you are fine, but the moment you start to really do
n-tier designs with tight transaction integration (ie XA), that is when
problems arise with this NotSerializable exception. I do know that the 3.x
series only supports local transaction, but my overall point is that I just
don't understand why a distributed transaction has not been a "native"
feature of JBoss from the beginning being that it seems to me that it would
be fundamental to n-tier designs. I presume there is a good reason for
this. I just don't know/see what that reason would be.
david jencks
If you have persistent JMS queues, then I would probably agree that having a
distributed global transaction involved when asychronous transports are
involved may not be best practice. However, if a non-persistent JMS queue
is used (and i don't know why anyone wouldn't use persistence), then I can
see having a distributed transaction as very beneficial to the integrity of
a single unit of work.
Dustin
-----Original Message----- From: marc fleury [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 15, 2003 6:37 PM To: [EMAIL PROTECTED] Subject: RE: [JBoss-dev] Transaction propagation changeone of my favorite topics is coming up again One day I will sit down and write a tx spec. Ok frankly WHY DO WE CARE THAT MESSAGING IS ASYNCHRONOUS WITH RESPECT TO TRANSACTION. Yeah I know the answer you could have a long running transaction and messages and queues and bla bla bla. BS BS BS. So the method returns immediately. SO WHAT? the listener that will pick up the message and act upon it may very well want to synchronize with the GLOBAL transaction going on in the web. And commit or rollback according to the outcome. The scenario is simple. Image A does something and sends messages to n instances with a global transaction associated to it. n recievers get the message get the TPC and register with the global tx. If the global tx is still running then all good 2phi dance starts bla bla bla. if the tx is out (too old) then the guy who woke up late just says "sorry can't register" and possibly no one cares or he can notify (whatever the app rollback semantics are). AT A SYSTEM LEVEL I DON"T SEE A REASON FOR THIS "BAD IDEA" SYNDROME. IN fact it always has struck me that there is NO WAY to propagate a TX with a message. you know what? this is something we can VERY easily do in JBoss. Adding the message in the new rewrite may be the usual 'put an interceptor here' deal, once we make progress on the rewrite. But the point is simple, the asynchronous nature of the transport protocol should not have an impact on the definition of a web transaction. IN fact it is a requisite for web services (generic way)Tx definitions. Many threads TX! </water-walking> marcf-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of danch Sent: Wednesday, January 15, 2003 6:18 PM To: [EMAIL PROTECTED] Subject: Re: [JBoss-dev] Transaction propagation change And having a way to do that would probably be a Bad Idea. Propogating a transaction through asynchronous transports doesn't soundlike a goodidea to me, anyway. -danch Hiram Chirino wrote:Just a small correction.. your example would have to be inat least 2units of work. There is NO WAY to put a JMS message andget it againin a single transaction. Regards, HiramHaving a distributed transaction context is especiallyimportant forexample when you have a EJB from one jboss instance postinga messageto a JMS queue on another jboss instance that in turn has a MDB that callsanother EJB onthat second instance. If I want that all to be under onetransaction andthus rollback as one business unit of work, there is no way to do that (that i'm aware of) with "native" JBoss in the 3.x series. Iknow one could useTyrex, but the author doesn't recommend using Tyrex in aproductionenvironment and so I'm a little leary to use it myself.------------------------------------------------------- This SF.NET email is sponsored by: A Thawte Code SigningCertificateis essential in establishing user confidence by providing assurance of authenticity and code integrity. Download our Free Code Signing guide: http://ads.sourceforge.net/cgi-> bin/redirect.pl?thaw0028en _______________________________________________ Jboss-development mailing list[EMAIL PROTECTED]https://lists.sourceforge.net/lists/listinfo/jboss-development------------------------------------------------------- This SF.NET email is sponsored by: A Thawte Code Signing Certificate is essential in establishing user confidence by providing assurance of authenticity and code integrity. Download our Free Code Signing guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0028en _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache
Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development
-------------------------------------------------------
This SF.NET email is sponsored by: Thawte.com
Understand how to protect your customers personal information by implementing
SSL on your Apache Web Server. Click here to get our FREE Thawte Apache Guide: http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0029en
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development