1 17 package org.apache.servicemix.eip; 18 19 import javax.jbi.messaging.ExchangeStatus; 20 import javax.jbi.messaging.InOnly; 21 import javax.xml.namespace.QName ; 22 23 import org.apache.servicemix.eip.patterns.XPathSplitter; 24 import org.apache.servicemix.tck.ReceiverComponent; 25 26 public class XPathSplitterTxTest extends AbstractEIPTransactionalTest { 27 28 private XPathSplitter splitter; 29 30 protected void setUp() throws Exception { 31 super.setUp(); 32 33 splitter = new XPathSplitter(); 34 splitter.setTarget(createServiceExchangeTarget(new QName ("target"))); 35 splitter.setXPath("/hello/*"); 36 configurePattern(splitter); 37 activateComponent(splitter, "splitter"); 38 } 39 40 public void testSync() throws Exception { 41 ReceiverComponent rec = activateReceiver("target"); 42 43 tm.begin(); 44 45 InOnly me = client.createInOnlyExchange(); 46 me.setService(new QName ("splitter")); 47 me.getInMessage().setContent(createSource("<hello><one/><two/><three/></hello>")); 48 client.sendSync(me); 49 assertEquals(ExchangeStatus.DONE, me.getStatus()); 50 51 tm.commit(); 52 53 rec.getMessageList().assertMessagesReceived(3); 54 } 55 56 public void testAsync() throws Exception { 57 ReceiverComponent rec = activateReceiver("target"); 58 59 tm.begin(); 60 61 InOnly me = client.createInOnlyExchange(); 62 me.setService(new QName ("splitter")); 63 me.getInMessage().setContent(createSource("<hello><one/><two/><three/></hello>")); 64 client.send(me); 65 66 tm.commit(); 67 68 me = (InOnly) client.receive(); 69 assertEquals(ExchangeStatus.DONE, me.getStatus()); 70 71 rec.getMessageList().assertMessagesReceived(3); 72 } 73 74 } 75 | Popular Tags |