1
2
3
4
5
6
7
8
9
10
11 package org.mule.transport.jms.integration;
12
13 import org.mule.api.MuleMessage;
14 import org.mule.module.client.MuleClient;
15
16 import org.junit.Test;
17
18 public class JmsXATransactionComponentTestCase extends AbstractJmsFunctionalTestCase
19 implements junit.framework.Test
20 {
21 public static final String CONNECTOR1_NAME = "jmsConnector";
22
23 protected String getConfigResources()
24 {
25 return "integration/jms-xa-tx-component.xml";
26 }
27
28 @Test
29 public void testOneGlobalTx() throws Exception
30 {
31 MuleMessage result;
32 MuleClient client = new MuleClient(muleContext);
33 client.dispatch("vm://in", DEFAULT_INPUT_MESSAGE, null);
34 result = client.request("vm://out", getTimeout());
35 assertNotNull(result);
36 result = client.request("vm://out", getSmallTimeout());
37 assertNull(result);
38 muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).stop();
39 assertEquals(muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).isStarted(), false);
40 logger.info(CONNECTOR1_NAME + " is stopped");
41 client.dispatch("vm://in", DEFAULT_INPUT_MESSAGE, null);
42 Thread.sleep(1000);
43 muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).start();
44 Thread.sleep(1000);
45 logger.info(CONNECTOR1_NAME + " is started");
46 result = client.request("vm://out", getTimeout());
47 assertNotNull(result);
48 result = client.request("vm://out", getSmallTimeout());
49 assertNull(result);
50 }
51 }