[Yanel-dev] Atomic operations in Yarep

Rob Adamson bobacus at gmail.com
Fri Jan 28 18:08:13 CET 2011


On 25 January 2011 09:39, Balz Schreier <balz.schreier at gmail.com> wrote:
> I would not even try to implement something like the Java Transactions API.
> Distributed transactions are one of the most complex topics in software
> engineering, maybe it is the most complex at all...
> I would rather think of offering "controlled" methods in addition to the
> current API where the client doing the modification can choose between the
> current API and the new ones.
> The new ones could checkout the node, do the modification and checkin again
> (as yarep offers today).
> I understand that this is not designed and implemented over night, but it
> would be a great addition to Yanel / Yarep.
> When thinking of clustered environments, the solutions can look different:
> - one single service that others "instances" can call remotely for doing the
> changes?
> - locking mechanism as described above? --> With the locking approach you
> quickly run into the problem of needing a distributed filesystem (as of the
> latest Lucene book, NFS, Samba/CIFS1.0 and Samba/CIFS2.0 have all severe
> issues and are not good candidates to be used in write mode)
> - other approaches?

Hi,

Have you looked into the Spring framework's transaction support?  I've
used it successfully before.  It's particularly effective with
annotations etc.

"Spring includes ... A common abstraction layer for transaction
management, allowing for pluggable transaction managers, and making it
easy to demarcate transactions without dealing with low-level issues.
Generic strategies for JTA and a single JDBC DataSource are included.
In contrast to plain JTA or EJB CMT, Spring's transaction support is
not tied to J2EE environments."
http://www.springsource.org/about
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html

Rob


More information about the Yanel-development mailing list