博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring整合activemq之点对点(queue)
阅读量:2240 次
发布时间:2019-05-09

本文共 4958 字,大约阅读时间需要 16 分钟。

spring整合activemq之点对点

  (1) 创建生产者子工程(war),引入工程相关依赖

org.apache.activemq
activemq-client
5.13.4
org.springframework
spring-context
junit
junit
org.springframework
spring-jms
org.springframework
spring-test

  (2) 编写配置文件:applicationContext-jms-producer.xml

  (3) 编写生产者类

package com.demo.activemq.producer.service;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jms.core.JmsTemplate;import org.springframework.jms.core.MessageCreator;import org.springframework.stereotype.Component;@Componentpublic class SpringActivemqQueueProducer {    @Autowired    private JmsTemplate jmsTemplate;        @Autowired    private Destination queueDestination;        /**     * 发送文本消息     * @param text     */    public void sendTextMessage(final String text){        jmsTemplate.send(queueDestination, new MessageCreator() {                        public Message createMessage(Session session) throws JMSException {                return session.createTextMessage(text);            }        });            }}

  (4) 编写消费者测试类,发送点对点消息

package com.demo.activemq.producer.service;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:spring/applicationContext-jms-producer.xml")public class SpringActivemqQueueProducerTexst {    @Autowired    private SpringActivemqQueueProducer queueProducer;        /**     * @Description: TODO 发送点对点消息     * @throws     */    @Test    public void testSend(){        queueProducer.sendTextMessage("SpringActivemqQueueProducer-点对点");    }    }

  (5) 创建消费者子工程(war),引入工程相关依赖

org.apache.activemq
activemq-client
5.13.4
org.springframework
spring-context
junit
junit
org.springframework
spring-jms
org.springframework
spring-test

  (6) 编写配置文件:applicationContext-jms-consumer.xml

  (7) 创建消费者(监听)类

package com.demo.activemq.customer.service;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;public class QueueMessageListener implements MessageListener {    public void onMessage(Message message) {        TextMessage textMessage = (TextMessage) message;        try {            System.out.println("接收到消息:" + textMessage.getText());        } catch (JMSException e) {            e.printStackTrace();        }    }}

  (8) 创建消费者测试类,接收点对点消息

package com.demo.activemq.customer.service;import java.io.IOException;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations="classpath:spring/applicationContext-jms-consumer.xml")public class SpringActivemqQueueCustomerTexst {    @Test    public void testQueue(){        try {            System.in.read();        } catch (IOException e) {            e.printStackTrace();        }            }}

  (9) 先启动消费者测试类,再启动生产者测试类

 

转载于:https://www.cnblogs.com/lin-nest/p/10318013.html

你可能感兴趣的文章
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>
用 Doc2Vec 得到文档/段落/句子的向量表达
查看>>
使聊天机器人具有个性
查看>>
使聊天机器人的对话更有营养
查看>>
一个 tflearn 情感分析小例子
查看>>
attention 机制入门
查看>>
手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目
查看>>
GAN 的 keras 实现
查看>>
AI 在 marketing 上的应用
查看>>
Logistic regression 为什么用 sigmoid ?
查看>>
Logistic Regression 为什么用极大似然函数
查看>>
SVM 的核函数选择和调参
查看>>
LightGBM 如何调参
查看>>
用 TensorFlow.js 在浏览器中训练神经网络
查看>>
cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
查看>>
梯度消失问题与如何选择激活函数
查看>>
为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
查看>>