commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Zeigermann <>
Subject Re: [transaction] cluster
Date Thu, 06 Jan 2005 20:51:26 GMT
Hi Brant,

1) This is currently not supported, but there was an approach to
achieve this with java.nio.channels.FileChannel#lock from JDK 1.4. It
was, however, abandoned as commons tx should remain compatible to
JDK1.2. On the other hand such an extension would be pretty simple and
could be optional for JDK1.4. It could be part of a 1.1 releases.

2) Should be doable, especially with the helper classes in
org.apache.commons.transaction.util.xa. A connection would likely be a
dummy that simply returns an XAResource for the distributed
transaction. Of couse no *real* two phase commit is supported by the
FileResourceManager. I have implemented a JCA connector before and it
is pretty simple conceptually, but confusing to implement. If you need
support for all kinds of application servers it really is a pain in
the *ss. I ended up supporting JBoss only...

In short: What you want is not there, yet, but should be doable with
reasonable effort. I am a bit short of time, so every contribution is
highly welcome.


On Thu, 06 Jan 2005 13:32:08 -0500, Brant Boehmann
<> wrote:
> I am in a situation where we have a cluster of app servers.
> A requirement has arrived  where writing/updating/deleting multiple
> files on a file system must occur atomically.
> The disk is NFS mounted across all nodes in the cluster. Each node needs
> to be able to write to disk in order to achieve load balancing.
> 1) Can anyone comment on how to make the FileResourceManager safely
> coordinate with multiple JVMs all accessing the same directory ?
> 2) If #1 is possible, then it would surely be possible to write a JCA
> adapter so these disk writes could occur in a distributed transaction
> along with a DB write & JMS message publish.
> Any thoughts?
> Brant Boehmann
> Software Engineer
> Cadre5
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message