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
18
19 public class JmsMuleSideDurableTopicXATxTestCase extends AbstractJmsFunctionalTestCase
20 {
21
22 public static final String CONNECTOR1_NAME = "jmsConnectorC1";
23
24 protected String getConfigResources()
25 {
26 return "providers/activemq/jms-muleside-durable-topic-xa-tx.xml";
27 }
28
29 public void testMuleXaTopic() throws Exception
30 {
31
32 Thread.sleep(3000);
33
34 MuleMessage result = null;
35 MuleClient client = new MuleClient();
36 client.dispatch("vm://in", DEFAULT_INPUT_MESSAGE, null);
37 result = client.request("vm://out", TIMEOUT);
38 assertNotNull(result);
39 result = client.request("vm://out", TIMEOUT);
40 assertNotNull(result);
41 result = client.request("vm://out", SMALL_TIMEOUT);
42 assertNull(result);
43
44 muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).stop();
45 assertEquals(muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).isStarted(), false);
46 logger.info(CONNECTOR1_NAME + " is stopped");
47 client.dispatch("vm://in", DEFAULT_INPUT_MESSAGE, null);
48 Thread.sleep(1000);
49 muleContext.getRegistry().lookupConnector(CONNECTOR1_NAME).start();
50 Thread.sleep(1000);
51 logger.info(CONNECTOR1_NAME + " is started");
52 result = client.request("vm://out", TIMEOUT);
53 assertNotNull(result);
54 logger.info("Received " + result.getPayload());
55 result = client.request("vm://out", TIMEOUT);
56 assertNotNull(result);
57 logger.info("!Received " + result.getPayload());
58 result = client.request("vm://out", SMALL_TIMEOUT);
59 assertNull(result);
60 }
61 }