I am interested to know if the Transactional File I/O library is still under development and if it can be used to participate as a JTA resource in a larger transactional context (such as with a database).
The library was developed as a master student project. No work has been done on the project since it was completed. However, that should not suggest that it is past its sell by date.
It does indeed allow file i/o to be included as part of a larger transaction encompassing other resources such as databases. Updates to files accessed through the library from within a JTA transaction will obey the ACID properties and, specifically, will remain consistent with other XA resources enrolled in the transaction. So you can be sure that your file system updates and your database updates either both commit or both get rolled back, even if a crash occurs while the transaction is in-flight.
I'd also like to know if i can be used with a non-jboss JTA transaction manager - such as spring?
Does Spring actually provide a transaction manager? As opposed to, say, providing a jumble of wiring which rigs up access to someone else's transaction manager in a rather ad hoc and unreliable way?
If you are asking whether the Transactional File I/O library would work if you used Spring's transaction management APIs running over JBoss's transaction manager then the answer is probably yes. Why don't you try it and see. It is provided as is and you need to do some of the running (well, alternatively you can fund us to turn it into production quality software and pay for a support contract).
If you are asking whether it would work if you used Spring's transaction management APIs running over someone else's transaction manager then the answer is no.
Thanks so much for your response adinn.
You're correct spring does not actually provide a transaction manager and I should have been more specific. I was hoping to use the transactional file i/o library with the JOTM transaction manager. Spring is just a delegator to the actual transaction manager.
At an rate, by the sounds of your post it seems this will not be possible as the transactional file i/o library is dependent on the jboss transaction manager.