Okay, hacking complete.  I've got a patch that extends the Clojure STM
so that it will make appropriate callouts to an external transaction
manager that cause the STMs transaction to be atomic/consistent/
isolated with respect to an external transaction, using a "dosync-
external" macro.  Note that this is not the same as XA support.  The
Clojure STM is in charge of the transaction as a whole, not the
external transaction manager.  (Among other things, this means that
transactions can not span multiple transaction managers.  You'll get
an exception if you try.) The external transaction manager must
implement the clojure.lang.ITransactionManager interface, which means
that to use any given external transaction manager you will need to
implement a small adapter to that interface, and instantiate it
appropriately.

This code is highly experimental, and should not be used for
production purposes.  Contents may have settled during shipping. All
models over 18.

Where should I send the patch?

--Dave Griffith
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to