[jbosscache-dev] Support for JBoss JTA and pluggable TM testing complete
Manik Surtani
manik at jboss.org
Thu Oct 4 12:43:39 EDT 2007
Thanks for this Jason - one step closer to a truly parameterised test
suite! Wahey!
On 4 Oct 2007, at 16:59, Jason T. Greene wrote:
> Everyone,
>
> I have added support for JBoss JTA standalone in Core Cache. To
> enable it simply define transactionManagerLookupClass to be
> "JBossStandalone JTAManagerLookup".
>
> I have also modified our testsuite to support a pluggable TM. This
> includes a new testing profile for JBossJTA. When adding future
> tests that you would like to be included in this profile, make sure
> you put them in the "transaction" group. This can be ran as follows:
>
> mvn -Ptransaction-jbossjta
>
> It is very important that all new tests be TM portable (I have
> already fixed the existing ones). So, unless you are explictly
> testing a specific TM, you should use the following techniques when
> using transactions:
>
> 1. Configure the transaction manager using
> TransactionSetup.getManagerLookup like so:
>
> cache.getConfiguration().setTransactionManagerLookupClass
> (TransactionSetup.getManagerLookup());
>
> 2. Obtain UserTransaction from TransactionSetup.getUserTransaction();
>
> 3. Obtain the transaction manager, if you need it, from the cache:
> cache.getConfiguration().getRuntimeConfig().getTransactionManager();
>
> Alternatively, if there is no cache in your test, you can use
> TransactionSetup:
>
> TransactionSetup.getTransactionManager();
>
> 4. Always use TransactionManager.commit()/setRollbackOnly()/rollback
> () where possible. Calling Transaction.commit() and
> Transaction.rollback() does _not_ clear the Transaction associated
> with the current thread. According to the spec future begin() calls
> must fail, so if you do this it becomes your job to clear the
> thread (using suspend). Alot of test code did not do this properly,
> which was fine with DummyTransactionManager, but broke any spec
> compliant TM.
>
> -Jason
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-dev
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
More information about the jbosscache-dev
mailing list