On 2002.10.03 22:12:42 -0400 Igor Fedorenko wrote: > David Jencks wrote: > > On 2002.09.27 16:21:33 -0400 Igor Fedorenko wrote: > > > >>David Jencks wrote: > >> > >>>Hi Igor, > >>> > >>>I'd like to stick with the jboss tm and add the needed functionality. > >>> > >>>Can you outline what you have been thinking of? > >> > >>I want to allow resource manager specific variation of XAResource state > > >>change sequence. This way we'll decouple different RMs from each other > >>and developers will be able to concentrate on one RM without concerns > to > >>break others. I have very brief idea how this can be implemented, but I > > >>believe it is doable and not too complicated. > > > > > > I'd like to see what you have in mind. > I'm thinking about creating xa resource handlers responsible for making > calls on xa resources. TransactionImpl will keep track of all xa > resources involved into the transaction but will delegate "real" xa work > to the appropriate handler. These handlers will implement interface > something like: > > interface XAResourceHandler { > void commit(TransactionImpl tx) throws ...; > boolean delistResource(TransactionImpl tx, int flag) throws ...; > boolean enlistResource(TransactionImpl tx) throws ...; > void rollback(TransactionImpl tx) throws ...; > } > > We will provide DefaultXAResourceHandler which will work with ideal xa > resource implementations but will allow registration of rm specific > implementations which will support whatever crazy logic in necessary to > work with the rm. > > Obviously I do not know all implementation details yet but I am pretty > sure that it will not complicate our code much. Unfortunately I do not > know when I'll be able to implement it.
This looks like it would work, but I don't see why this would be better than implementing specific XAResource wrappers for the bizarre XAResource implementations. I'm thinking txImpl calls say XAWrapper.start(xid, TMRESUME) and XAWrapper says, hmmm I don't support resume, I'll get a new branch on this tx and call BizarroXAResource.start(newXid, TMJOIN). I think with either approach their may be problems keeping track of all the modifications. Anyway I wonder if you have thought of this and know of problems with it. thanks david jencks > > > > > > >>>Also, is the new xa wrapper in cvs HEAD working well enough to move to > >> > >>3.2? > >> > >>>Should we even move it to 3.0? > >> > >>What do you think about cached javax.jdbc.XAConnection.getConnection() > >>problem I've mentioned few days ago? Can we afford saying "Oracle 8i is > > >>not supported in XA mode"? > > > > > > I don't know... saying it isn't supported might be better than all the > > problems people are having. > > > > Do you think it is ok to get a new Connection from the XAConnection > > whenever associateConnection is called? If we can do this, it wouldn't > be > > too hard to change. I'm still mystified as to how Oracle can tell how > many > > Connection handles we are using and how it can decide to object. > > Well, most likely I misinterpreted the behaviour I've observed ;-) I > believe oracle 8i should work fine with TrackConnectionByTx. > > -- > Igor Fedorenko > Think smart. Think automated. Think Dynamics. > www.thinkdynamics.com > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development