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