activeMQ,spring的jmstemplate简单例子
1.使用的是maven的结构,导入activeMQ的包
2.创建“生产者”
①xml配置文件
②java代码
主类SpringMain
public static void main(String[] args) { /*开始加载spring配置文件*/ ApplicationContext context = new ClassPathXmlApplicationContext(“classpath:applicationContext.xml”); IRantzMarketingGateway rantzMarketingGateway= (RantzMarketingGatewayImpl) context.getBean(“marketingGateway”); rantzMarketingGateway.sendMotoristInfo(); System.out.println(“Start …”); }
消息发送类RantzMarketingGatewayImpl
import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; public class RantzMarketingGatewayImpl implements IRantzMarketingGateway { private JmsTemplate jmsTemplate; private Destination destination; public JmsTemplate getJmsTemplate() { return jmsTemplate; } public void setJmsTemplate(JmsTemplate jmsTemplate) { this.jmsTemplate = jmsTemplate; } public Destination getDestination() { return destination; } public void setDestination(Destination destination) { this.destination = destination; } public void sendMotoristInfo(){ jmsTemplate.send( destination, new MessageCreator(){ public Message createMessage(Session session) throws JMSException { return session.createTextMessage(“这是一个测试”); } } ); } }
3.创建“消费者”
①xml配置文件
②java代码
主类SpringMain
public static void main(String[] args) { /*开始加载spring配置文件*/ ApplicationContext context = new ClassPathXmlApplicationContext(“classpath:applicationContext.xml”); MarketingReceiverGatewayImpl rantzMarketingGateway= (MarketingReceiverGatewayImpl) context.getBean(“marketingGateway”); System.out.println(“Receive Start …”); try { rantzMarketingGateway.receiveMotorist(); } catch (Exception e) { e.printStackTrace(); } }
消息发送类MarketingReceiverGatewayImpl
import javax.jms.TextMessage; import org.springframework.jms.core.JmsTemplate; public class MarketingReceiverGatewayImpl { private JmsTemplate jmsTemplate; public JmsTemplate getJmsTemplate() { return jmsTemplate; } public void setJmsTemplate(JmsTemplate jmsTemplate) { this.jmsTemplate = jmsTemplate; } public MarketingReceiverGatewayImpl() { } public void receiveMotorist() throws Exception{ TextMessage message = (TextMessage)jmsTemplate.receive(); System.out.println(“reviced msg is:” + message.getText()); } }
4.启动activeQM
在下载的activeQM包中的bin目录中,可以找到一个用于启动activeMQ的脚本。unix用户使用activemq;windows用户使用activemq.bat
5.先运行”生产者”,再运行”消费者”
6.结果
Start …
Receive Start …
reviced msg is:这是一个测试
还没有评论,来说两句吧...