⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractjmsoutboundmessagingtest.java

📁 Jencks是一个轻量级的JCA容器。它可以轻松部署到Spring中以提供消息驱动的POJOs.此外Jencks通过使用类似于JMS,JAX-RPC,JBI与JCA CCI的API来提供对inboun
💻 JAVA
字号:
package org.jencks.samples.outbound;import javax.jms.ConnectionFactory;import javax.jms.Queue;import org.springframework.jms.core.JmsTemplate;import org.springframework.test.AbstractDependencyInjectionSpringContextTests;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.TransactionDefinition;import org.springframework.transaction.TransactionStatus;import org.springframework.transaction.support.DefaultTransactionDefinition;public abstract class AbstractJmsOutboundMessagingTest extends AbstractDependencyInjectionSpringContextTests {	public final static String TEST_MESSAGE="test message";		private ConnectionFactory connectionFactory;	private Queue queue;	private PlatformTransactionManager transactionManager;		public PlatformTransactionManager getTransactionManager() {		return transactionManager;	}	public void setTransactionManager(PlatformTransactionManager transactionManager) {		this.transactionManager = transactionManager;	}	public Queue getQueue() {		return queue;	}	public void setQueue(Queue queue) {		this.queue = queue;	}	public ConnectionFactory getConnectionFactory() {		return connectionFactory;	}	public void setConnectionFactory(ConnectionFactory connectionFactory) {		this.connectionFactory = connectionFactory;	}	public void testOutboundWithCommit() throws Exception {		//Send the message in a JTA transaction		DefaultTransactionDefinition definition=new DefaultTransactionDefinition();		definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);		TransactionStatus status=null;		try {			status=transactionManager.getTransaction(definition);			JmsTemplate template=new JmsTemplate(getConnectionFactory());			template.convertAndSend(queue,TEST_MESSAGE);			transactionManager.commit(status);		} catch(Exception ex) {			ex.printStackTrace();			transactionManager.rollback(status);			fail("Undesired exception.");		}		//Check if the message has been sent		checkIfMessageExist(TEST_MESSAGE);	}	protected void checkIfMessageExist(String sentMessage) {		JmsTemplate template=new JmsTemplate(getConnectionFactory());		template.setReceiveTimeout(10);		String receivedMessage=(String)template.receiveAndConvert(queue);		assertEquals(sentMessage,receivedMessage);	}	public void testOutboundWithRollback() throws Exception {		//Send the message in a JTA transaction		DefaultTransactionDefinition definition=new DefaultTransactionDefinition();		definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);		TransactionStatus status=null;		try {			status=transactionManager.getTransaction(definition);			JmsTemplate template=new JmsTemplate(getConnectionFactory());			template.convertAndSend(queue,TEST_MESSAGE);			transactionManager.rollback(status);		} catch(Exception ex) {			ex.printStackTrace();			transactionManager.rollback(status);			fail("Undesired exception.");		}		//Check if the message has not been sent		checkIfMessageNotExist();	}	protected void checkIfMessageNotExist() {		JmsTemplate template=new JmsTemplate(getConnectionFactory());		template.setReceiveTimeout(10);		String receivedMessage=null;		receivedMessage=(String)template.receiveAndConvert(queue);		assertNull(receivedMessage);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -