当前位置:首页 > 开发 > 编程语言 > Spring > 正文

spring整合activemq

发表于: 2015-06-10   作者:dalan_123   来源:转载   浏览:
摘要: 整合spring和activemq需要搞清楚如下的东东1、ConnectionFactory分:     a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接      b、真正产生到JMS服务器链接的ConnectionFactory还得

整合spring和activemq需要搞清楚如下的东东

1、ConnectionFactory分:

     a、spring管理连接到activemq服务器的管理ConnectionFactory也即是所谓产生到jms服务器的链接

      b、真正产生到JMS服务器链接的ConnectionFactory还得是由JMS服务厂商提供,并且需要把它注入到Spring提  供的ConnectionFactory中

2、生产者  生产者负责产生消息并发送到JMS服务器,这通常对应的是我们的一个业务逻辑服务实现类,通常是 利用Spring为我们提供的JmsTemplate类来实现的

3、消费者 消息的接受者;一般包括[size=14px;]处理消息的[/size]MessageListener、消息监听容器MessageListenerContainer、发送消息到指定目的地Destination之类

4、消息类型:点对点、发布订阅

具体详情可以参考该地址:http://haohaoxuexi.iteye.com/blog/1893038

想实现代码如下:

一、业务服务接口


[code="java"]package com.jms.service;

import javax.jms.Destination;

public interface ProducerService {
public void sendMessage(Destination destination, final String message);
}

二、业务服务接口实现类



[code="java"]package com.jms.service;

import javax.annotation.Resource;
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;
import org.springframework.stereotype.Component;


@Component
public class ProducerServiceImpl implements ProducerService {

    private JmsTemplate jmsTemplate;
   
    public void sendMessage(Destination destination, final String message) {
        System.out.println("---------------生产者发送消息-----------------");
        System.out.println("---------------生产者发了一个消息:" + message);
        jmsTemplate.send(destination, new MessageCreator() {
            public Message createMessage(Session session) throws JMSException {
                return session.createTextMessage(message);
            }
        });
    }

    public JmsTemplate getJmsTemplate() {
        return jmsTemplate;
    }

    @Resource
    public void setJmsTemplate(JmsTemplate jmsTemplate) {
        this.jmsTemplate = jmsTemplate;
    }

}

三、消息处理接口

[code="java"]package com.jms.service;


import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

public class ConsumerMessageListener implements MessageListener {

    public void onMessage(Message message) {
        //这里我们知道生产者发送的就是一个纯文本消息,所以这里可以直接进行强制转换
        TextMessage textMsg = (TextMessage) message;
        System.out.println("接收到一个纯文本消息。");
        try {
            System.out.println("消息内容是:" + textMsg.getText());
        } catch (JMSException e) {
            e.printStackTrace();
        }
    }

}
四、测试单元



[code="java"]package com.jms.service;

import javax.jms.Destination;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/jms-messages.xml")
public class ProducerConsumerTest {
    @Autowired
    private ProducerService producerService;
    @Autowired
    @Qualifier("queueDestination")
    private Destination destination;
   
    @Test
    public void testSend() {
        for (int i=0; i
queue

六、需要下载activemq服务器并配置好,最终开启activemq服务器 http://activemq.apache.org/activemq-5111-release.html (如若未开启activemq服务可能会到导致只出现一对 消息发送 接收)

七、对应的项目jar详见附件,任意建一个web项目即可

如上基本实现spring 整合 jms (activemq)

 

spring整合activemq

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
近日用spring3.2 jms 与activemq5.8 整合一下,实现了异步发送,异步接收功能,并附上了测试代码 1
项目的代码:https://github.com/jishaocong/ActiveMQDemo,Maven项目。 我是以配置文件appicationC
一、配置部分 ActiveMQ的安装这就不说了,很简单, 这个例子采用maven构建,首先看一下pom.xml <
一、配置部分 二、代码部分 三、页面部分 四、Controller控制器 五、效果展示 六、加入监听器 七、
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇 ActiveM
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号