activeMQ,spring的jmstemplate简单例子

深藏阁楼爱情的钟 2022-09-30 04:54 226阅读 0赞

1.使用的是maven的结构,导入activeMQ的包

org.apache.activemq activemq-core 5.5.0

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:这是一个测试

发表评论

表情:
评论列表 (有 0 条评论,226人围观)

还没有评论,来说两句吧...

相关阅读

    相关 groovy简单例子

    groovy是基于java之上的扩展,它的基于jvm的,所以它可以跟java进行无缝的衔接。在intellij上直接加入groovy的jar包即可使用groovy。