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 protected void doSetUp() throws Exception
29 {
30 txManager = new JBossArjunaTransactionManagerFactory().create();
31 super.doSetUp();
32 muleContext.setTransactionManager(txManager);
33 }
34 protected TransactionFactory getTransactionFactory()
35 {
36 return new XaTransactionFactory();
37 }
38
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, txManager);
46 }
47 }