This forum has been archived. Please start a new discussion on GitHub.
Distributed Transaction Support ? XA DB integration ?
Re: Distributed Transaction Support ? XA DB integration ?Originally posted by Dmitri
Hi all !
Too busy to look at the product at the moment, but curious what about transaction support in Ice ? Is it available right now ? may be scheduled for the next release ? Or was it planned at all ?
Sorry, no, there is no transaction service ( Ice-T ) yet. It's certainly on our todo list, but we are not sure about the priority yet. I guess we will take a poll in a few weeks, to find out what features our users would like to see most in the next major version.0
Marc, thanks for the quick reply !
I wonder is it possible to enrich Ice with such a feature as a stand-alone product, just like the way CORBA OTS may be implemented ? Or Ice-T should find its way to main source tree ? I mean to say I wonder how pluggable the services with Ice can be. Would it be possible to implement Ice-T so that it would look like OTS implicit mode?
Not too many questions, eh ?
Sorry if I didn't make myself clear.
It's not possible at present to do something exactly like OTS implicit mode - but you can get close now, and perhaps closer later with a minor client side change.
Every method invocation has an associated calling context which is used to provide meta-data for the invocation. This is what we had in mind for, among other things, providing OTS support.
On the client side the application writer would provide a context with a parameter that identifies the OTS context (transaction id, etc). If we added support for a default context this would then be quite similar to implicit passing of the OTS context.
On the server side it is possible to interrogate the context in a servant locator. This means that the servant locator could implicitely associate the transaction id with the calling thread in the incoming path of the invocation, and tear down the association in the outgoing path. Freeze uses a technique very similar to this to provide the automatic persistence.