I took a look at the geotools transaction and state objects. 

The first thing is a minor issue, state and transactions  should use the
"Composite Design Pattern",
it should be possible for transactions to be part of another transaction.

The big problem, and I think we should put our focus on the basics, are the
commit and the rollback methods of the Transaction.  We agree that at the
moment, the transaction is not atomic. Putting in 2 states wrapping a jdbc
connection, the first commit is ok, the second is not, you can do nothing
against the mess you produced in the databases.

You mentioned you wrote  an implementation of a two phase commit, sorry jody
, I cannot believe that. Nobody can implement a two phase commit on JDBC and
JMS Connection. if you look here
http://en.wikipedia.org/wiki/Two-phase-commit_protocol
you will see that the Connection interfaces do not give a chance to do that.
At a minimum, there
must be a method "readyToCommit"  returning true oder false. (We need not
discuss other issues like timeout handling and so on).

If we think big, and we should, a second thing to point out is the ability
to call remote ejbs (J2EE Feature) and to enable clustering (which is a
vendor specific feature).  The transaction and state objects must be
serializeable. At the moment the are not und you cannot make them
serializeable, because you have no connect info.
To be fair, there are many classes in geotools which are not serializeable,
so  I only want to put your 
attention to this matter of fact. 

All other issues (bootstrapping  and so on) are dependent on the solution of
our 2 Phase Commit problem.

Heavy stuff, I know, but these where the reason for me  not use the jdbc
plugins and doing it native.

PS: The first two weeks in July I am in holidays, afterwards we should find
a solution

christian



-- 
View this message in context: 
http://www.nabble.com/Geotools-3-Planning---Transaction-Handling-tp18131680p18153285.html
Sent from the geotools-devel mailing list archive at Nabble.com.


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to