1   package org.jencks.samples.outbound;
2   
3   import org.springframework.jms.core.JmsTemplate;
4   import org.springframework.transaction.TransactionStatus;
5   import org.springframework.transaction.support.TransactionCallback;
6   import org.springframework.transaction.support.TransactionTemplate;
7   
8   
9   public class GenericJmsRaOutboundMessagingTest extends AbstractJmsOutboundMessagingTest {
10  
11  	protected String[] getConfigLocations() {
12  		return new String[] { "org/jencks/samples/outbound/jencks-genericjmsra.xml" };
13  	}
14  
15  	protected void checkIfMessageExist(final String sentMessage) {
16  		TransactionTemplate tt = new TransactionTemplate(getTransactionManager());
17  		tt.execute(new TransactionCallback() {
18  			public Object doInTransaction(TransactionStatus status) {
19  				JmsTemplate template=new JmsTemplate(getConnectionFactory());
20  				template.setReceiveTimeout(10);
21  				String receivedMessage=(String)template.receiveAndConvert(getQueue());
22  				assertEquals(sentMessage,receivedMessage);
23  				return null;
24  			}
25  		});
26  	}
27  
28  	protected void checkIfMessageNotExist() {
29  		TransactionTemplate tt = new TransactionTemplate(getTransactionManager());
30  		tt.execute(new TransactionCallback() {
31  			public Object doInTransaction(TransactionStatus status) {
32  				JmsTemplate template=new JmsTemplate(getConnectionFactory());
33  				template.setReceiveTimeout(10);
34  				String receivedMessage=null;
35  				receivedMessage=(String)template.receiveAndConvert(getQueue());
36  				assertNull(receivedMessage);
37  				return null;
38  			}
39  		});
40  	}
41  
42  }