This content has been marked as final. Show 7 replies
Hello, good question.
To be perfectly blunt, we reviewed our code and found it was not 100% correct according to the XA standard (it was really close and worked most if not all of the time, but there were some nagging issues), we'd not fully implemented the XA API in Java so as to support multi-threaded use, and we were not sure that there was anyone out there using it. So we removed the code. The hope is to resurrect it at some point in a future release if we find sufficient demand for use cases which require distributed transactions using XA.
So, tell me about your use case?
Product Manager, Oracle Berkeley DB
thanks for your response :)
It is a bit unfortunate but it does make sense and I much rather people got rid of stuff that doesn't work rather than just hoping nobody trips over the stuff that doesn't work.
The scenario I was starting to "tinker" with was embedding bdb xml in a jee appserver (jboss), where I can do something like:
1) start a global xa tx
2) save a doc into bdb xml
3) put a message about the doc onto a jms queue
4) commit tx (so the doc is saved and the message is sent)
The jms message could be consumed by something that would index the document (using something like lucene).
Using the XA transaction across both actions means that my indexing process only gets a notification of a new document if the save went ok.
I started working on this against bdb xml 2.4, the ability to include additional xquery functions in 2.5 makes this more useful as I might be able to call out to the lucene text search system from within my xquery...
Great to hear back from you. Thanks for the information. Is there a reason you're not using the pure-Java version of Berkeley DB (which supports JTA aka XA)? I think you'll like it.
I'm using the java api for bdb xml because the information I'm storing is xml documents and I want to be able to run xquery queries across those documents - as I understand it these are features of bdb xml but not of the pure java version of bdb... ?
Hmmm... well, that is a problem. We don't have a pure-Java BDB XML (that would use JE and have XA support). Looks like I'll have to add this to the (growing) list of reasons why we need to put XA back into the product.
thanks for your feedback, sorry for the inconvenience,
Another "use case" - the existing software uses XA: http://code.google.com/p/sks-keyserver/issues/detail?id=16
Just FYI: The sks has dropped XA for the next release.