1
2
3
4
5
6
7 package org.mule.test.integration.transport.jdbc;
8
9 import org.mule.api.transaction.TransactionFactory;
10 import org.mule.module.jboss.transaction.JBossArjunaTransactionManagerFactory;
11 import org.mule.transaction.XaTransactionFactory;
12 import org.mule.transport.jdbc.xa.DataSourceWrapper;
13
14 import javax.sql.DataSource;
15 import javax.transaction.TransactionManager;
16
17 import org.enhydra.jdbc.standard.StandardXADataSource;
18
19
20 public class JdbcTransactionalXaFunctionalTestCase extends AbstractJdbcTransactionalFunctionalTestCase
21 {
22 private TransactionManager txManager;
23
24 @Override
25 protected void doSetUp() throws Exception
26 {
27 txManager = new JBossArjunaTransactionManagerFactory().create(muleContext.getConfiguration());
28 super.doSetUp();
29 muleContext.setTransactionManager(txManager);
30 }
31
32 @Override
33 protected TransactionFactory getTransactionFactory()
34 {
35 return new XaTransactionFactory();
36 }
37
38 @Override
39 protected DataSource createDataSource() throws Exception
40 {
41 StandardXADataSource ds = new StandardXADataSource();
42 ds.setDriverName(EMBEDDED_DRIVER_NAME);
43 ds.setUrl(EMBEDDED_CONNECTION_STRING);
44 ds.setTransactionManager(txManager);
45 return new DataSourceWrapper(ds);
46 }
47 }