整合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配置详解 Spring框架与ActiveMQ的集成,为开发者提供了一种高效、可靠的JMS消息处理机制。在企业级应用中,这种集成能够极大地提升系统的响应速度和容错能力,特别是在需要异步通信和分布式事务...
《Spring整合ActiveMQ深度解析》 在现代企业级应用开发中,消息队列(Message Queue)扮演着重要的角色,它能够有效地实现系统间的解耦,提高系统的可扩展性和并发处理能力。Spring作为Java领域的主流框架,与...
首先,我们要理解Spring整合ActiveMQ的核心概念。在Spring框架中,我们可以通过使用Spring的JMS模块来配置ActiveMQ。这个过程涉及到以下几个关键点: 1. **JMS配置**:在Spring的配置文件中,我们需要定义一个`...
将Spring与ActiveMQ整合,可以轻松地在Spring应用中实现消息队列的功能,提高系统的可扩展性和可靠性。 首先,让我们了解Spring框架如何支持消息传递。Spring提供了JmsTemplate类,这是一个模板类,用于简化发送和...
百度spring整合activemq 发现几乎都只是在xml文件配置固定的消息队列而且太麻烦。并没有根据需求进行动态生成主题和队列。本文档参考了纯粹的activemq java代码和百度上的demo,很简洁的实现了动态消息队列的生成和...
Spring 集成 ActiveMQ 配置 Spring 集成 ActiveMQ 配置是指将 Spring 框架与 ActiveMQ 消息队列集成,以实现基于 JMS(Java Message Service)的消息传递。ActiveMQ 是 Apache 软件基金会的一个开源的消息队列系统...
**Spring 整合 ActiveMQ 简单实例** 在当今的分布式系统中,消息队列(Message Queue)作为异步处理、解耦组件的关键技术,被广泛应用。Spring 框架与 ActiveMQ 的整合,使得开发者能够轻松地在 Spring 应用程序中...
Spring通过其`spring-jms`模块提供了对JMS的支持,可以方便地与消息代理如ActiveMQ进行集成。主要涉及以下几个核心组件: 1. **ConnectionFactory**: 这是创建JMS连接的工厂,Spring通过`JmsTransactionManager`或`...
Spring整合ActiveMQ是Java消息服务(JMS)在Spring框架中的应用,用于实现生产者与消费者的解耦。在这个案例中,我们将深入探讨如何配置和使用这两个组件,以便于理解它们的工作原理。 首先,ActiveMQ是Apache软件...
在Spring框架中集成ActiveMQ,我们可以创建一个高效的、可扩展的系统,利用消息队列来解耦生产者和消费者,提高系统的响应速度和可靠性。以下将详细介绍如何进行Spring与ActiveMQ的集成,并提供一些关键知识点。 1....
以上就是Spring集成ActiveMQ的基本流程,涉及Queue和Topic的创建、持久化到MySQL以及消息的发送与接收。这个测试Demo涵盖了消息中间件的核心功能,可以帮助你理解并实践消息传递系统在实际项目中的应用。
本DEMO将展示如何通过Spring整合ActiveMQ来实现队列(Queue)和主题(Topic)两种不同的通信方式。队列遵循“先进先出”原则,每个消息只有一个消费者;而主题支持多播,允许多个消费者同时接收消息。 首先,你需要...
在Spring集成ActiveMQ时,通常会采用Spring的配置文件形式来配置消息工厂(ConnectionFactory)、消息队列目的地(Destination)、消息监听容器(MessageListenerContainer)等。这样的配置方式可以让Spring管理...
本文将围绕"Spring整合ActiveMQ"这一主题,深入讲解如何在Spring框架中实现ActiveMQ的集成。 1. **Spring与ActiveMQ的整合基础** - Spring框架提供了一套完整的消息编程模型,包括Message、MessageListener、...