多语言展示
当前在线:1065今日阅读:126今日分享:42

spring集成activemq

主要介绍怎么在现有的sping框架中集成activemq,因为activemq-all经常会和spring现有jar包产生冲突,所以我没有采用activemq-all去集成。
工具/原料
1

spring 3.2.2.RELEASE

2

activemq 5.14.0

3

jdk1.7

方法/步骤
2

添加引用jar包,通过maven添加:    org.apache.activemq    activemq-pool    5.14.0    org.apache.activemq    activemq-spring    5.14.0    org.apache.activemq.protobuf    activemq-protobuf    1.1

3

spring配置:                                            tcp://localhost:61616                                                                                                     

4

TopicSender.java:import java.io.Serializable;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.jms.core.JmsTemplate;import org.springframework.jms.core.MessageCreator;import org.springframework.stereotype.Component;/** * @description   Topic生产者发送消息到Topic */@Component('topicSender')public class TopicSender {    @Autowired    @Qualifier('jmsTopicTemplate')    private JmsTemplate jmsTemplate;        /**     * 发送一条消息到指定的队列(目标)     * @param queueName 队列名称     * @param message 消息内容     */    public void send(String topicName,final Serializable message){        jmsTemplate.send(topicName, new MessageCreator() {            @Override            public Message createMessage(Session session) throws JMSException {                return session.createObjectMessage(message);            }        });    }}

5

发送消息到主题:    @Resource    TopicSender topicSender;    /**     * 发送消息到主题,放入一个消息,所有订阅者都会收到     */    public void topicsender(String message){           topicSender.send('topicname', message);    }

6

接收主题消息TopicReceiver.javaimport javax.jms.Message;import javax.jms.MessageListener;import javax.jms.TextMessage;import org.springframework.stereotype.Component;@Componentpublic class TopicReceiver implements MessageListener{    @Override    public void onMessage(Message message) {        System.out.println('接收到消息:'+((TextMessage)message).getText());    }    }

注意事项

spring需要引入spring-jms,版本随spring版本

推荐信息