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