-
1. Re: Using TransactionalDriver with JBoss Modules
tomjenkinson Nov 5, 2014 6:55 AM (in response to mmusgrov)Hi Mike,
I think we need something like a "DirectionNonRecoverableConnection" that can take an instance of an XAResource. We won't be able to use BasicXARecovery to handle the recovery but a simple XAResourceRecovery can be provided.
Tom
-
2. Re: Using TransactionalDriver with JBoss Modules
marklittle Nov 5, 2014 4:20 PM (in response to tomjenkinson)DirectionNonRecoverableConnection?
-
3. Re: Using TransactionalDriver with JBoss Modules
tomjenkinson Nov 6, 2014 3:35 AM (in response to marklittle)Sorry, it was a typo (i meant DirectNonRecoverableConnection - and this was just to be consistent with the naming of the other connection types, however I have subsequently thought it was a bit open to misinterpretation and renamed it to: ProvidedXADataSourceConnection). Unfortunately the forum was down when I tried to clarify. This PR should help explain what I am thinking of: https://github.com/jbosstm/narayana/pull/758/files
The reason the naming was as such is because is it is "not recoverable" in itself in terms of "RecoverableXAConnection" and its assistant BasicXARecovery. I.e it needs a com.arjuna.ats.jta.recovery.XAResourceRecovery to be provided by user code. The normal transactional driver connection stuff is recoverable on its own because you can encode the url etc and class names so enough info exists to recreate what you need within Narayana. The thing is that is not classloader friendly so the dynamicClass for example has to be available to Narayana classloader which means it won't work in a JBoss Modules environment because it would result in a circular dependency between the TM and the user code.
-
4. Re: Using TransactionalDriver with JBoss Modules
tomjenkinson Nov 12, 2014 6:45 AM (in response to mmusgrov)If no-one has an objections to the proposed implementation in Allow the user to provide a reference to an XADataSource by tomjenkinson · Pull Request #758 · jbosstm/narayana · GitHub then I will go ahead and create a new for the new feature, update the PR to reference it and get it merged.
-
5. Re: Using TransactionalDriver with JBoss Modules
marklittle Nov 12, 2014 8:22 AM (in response to tomjenkinson)I assume this won't be back ported since it changes the public API?
-
6. Re: Using TransactionalDriver with JBoss Modules
tomjenkinson Nov 21, 2014 12:08 PM (in response to mmusgrov)Hi guys,
Just so you know I have updated the PR. Although I don't anticipate backporting this I think it should be OK for backport as the only parts of the public API that I have altered now are in ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/TransactionalDriver.java I have added a to add a new final which a user can use in their configuration properties to enable the new behavior. Existing behavior is intended to remain identical to before. Let me know if you do think I have broken something and I can try to address that to give us opportunity to back port should it be necessary.
Mike, can you have a look and let me know if you think this will address your needs? If so I will raise the Jira and we can think about merging it before 5.0.4.
Thanks,
Tom
-
7. Re: Using TransactionalDriver with JBoss Modules
mmusgrov Nov 21, 2014 12:32 PM (in response to tomjenkinson)The PR is its initial form worked very well for me, thanks. I haven't pulled the changes you mentioned in the previous comment and done a retest - I will do that after I've cleared the current BZ I am working on.
I don't have a requirement for backporting since I can just package the snapshot (or wait for 5.0.4-Final and upload that to the ceylon herd module repository.