项目中使用的介绍:
一.运行ActiveMQ:
在文件路径下...\apache-activemq-5.13.3\bin\win64
运行activemq.bat
这是系统中的使用,运行后还可以访问相应的页面。
二.项目中的实践
1.依赖的jar包
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-broker</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-spring</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>artemis-jms-client</artifactId> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>artemis-jms-server</artifactId> </dependency>
2.配置ActiveMQ的配置,要和运行的保持一致,在commom.properties文件中。
activemq.broker.url=tcp://127.0.0.1:61616 activemq.user=admin activemq.password=admin activemq.name=datacenter.test activemq.name.access=datacenter.access
3.applicationContext-mq.xml 中配置
<!-- 1.配置ActiveMQ 连接工厂 --> <amq:connectionFactory id="creditMQConnectionFactory" brokerURL="${activemq.broker.url}" userName="${activemq.user}" password="${activemq.password}" /> <!-- 2.配置缓存 ConnectionFactory --> <bean id="creditMQconnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="targetConnectionFactory" ref="creditMQConnectionFactory"/> <property name="sessionCacheSize" value="100" /> </bean> <!-- 定义JmsTemplate的Queue类型 --> <bean id="creditJmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <constructor-arg ref="creditMQConnectionFactory" /> <property name="pubSubDomain" value="false" /> </bean> <!-- 定义授权队列消费者 <bean id="creditConsumer" class="com.itom.mq.consumer.CreditConsumer"/>--> <!-- 定义Queue监听器 --> <jms:listener-container destination-type="queue" container-type="default" connection-factory="creditMQconnectionFactory" acknowledge="auto"> </jms:listener-container> <!--运营相关配置结束-->
4.编写生产者和消费者
1) 生产者
import org.apache.activemq.command.ActiveMQQueue; import org.springframework.jms.core.JmsTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.jms.Queue; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @Component public class CreditProducer { private Map<String ,Queue> cacheQueue = new ConcurrentHashMap<String ,Queue>(); @Resource private JmsTemplate creditJmsTemplate; public void pushCreditData(String queueName ,Object message){ Queue queue = cacheQueue.get(queueName); if(queue == null){ queue = new ActiveMQQueue(queueName); cacheQueue.put(queueName,queue); } this.creditJmsTemplate.convertAndSend(queue, message); } }
2) 消费者:
public class MessageReceiver implements MessageListener { //自己定义的类,使用线程池来处理消息 @Resource(name = "messageComputePool") MessageComputePool pool; public void onMessage(Message message) { if(message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; try { String text = textMessage.getText(); System.out.println(String.format("Received: %s",text)); JSONObject jsonObj = (JSONObject)JSONObject.parse(text); ... //消费者接收到消息就可以进行处理了 } catch (JMSException e) { e.printStackTrace(); } } } }
3)使用生产者推消息
@Service("collectService ") public class CollectServiceImpl implements CollectService { public static final Logger LOG = LoggerFactory.getLogger(CollectServiceImpl.class); @Resource private CreditProducer creditProducer; @Override public void collect(CollectParameter parameter) { Map dataMap = new HashMap(); dataMap.put("sourceCode", parameter.getValue()); dataMap.put("userId",parameter.getUserid()); creditProducer.pushCreditData("itom.activemq.access", JSON.toJSONString(dataMap)); } } }
推荐个ActiveMQ入门教程:
http://blog.csdn.net/jolingogo/article/category/1658165
相关推荐
### ActiveMQ 使用手册知识点概述 #### 一、ActiveMQ 原理与基本构件 **1.1 连接工厂(Connection Factory):** - **定义:** 连接工厂是客户端用来创建连接的对象。在ActiveMQ中,`ActiveMQConnectionFactory` 类...
本教程将引导你通过一个简单的入门案例了解如何使用ActiveMQ实现生产者与消费者的模式。 首先,我们需要了解ActiveMQ的基本概念。在消息队列中,生产者是发送消息的实体,而消费者则是接收和处理这些消息的实体。...
在这个"ActiveMQ简单Demo案例"中,我们将探讨如何使用ActiveMQ搭建服务器,并创建生成者(Producer)和消费者(Consumer)对象。 首先,我们需要理解JMS的概念。JMS是一个标准,定义了与消息传递系统交互的API,...
**ActiveMQ 使用 SSL 加密文件 Demo** ActiveMQ 是一个开源的消息代理服务器,它遵循 Java Message Service(JMS)规范,提供了可靠的消息传递功能。在实际的生产环境中,为了确保消息传输的安全性,我们通常会使用...
本篇文章将深入探讨如何使用ActiveMQ进行JMS开发,以及ActiveMQ的核心特性。 一、Java消息服务(JMS) JMS是一种为分布式环境设计的消息传递规范,它定义了生产、存储和消费消息的标准接口。通过JMS,应用程序可以...
在 Windows 上安装 ActiveMQ 很简单,只需下载解压即可。最新版本为 5.11.1,可以从 Apache 官网获取。在 Windows 上,如果已经配置了全局的 Java 环境变量,可以直接运行;否则,需要在 `bin\win64\wrapper.conf` ...
在`conf/activemq.xml`文件中添加简单的认证插件配置: ```xml ,admins"/> ``` 这里定义了一个名为`wusc`的用户,密码为`wusc.123`,拥有`users`和`admins`角色。 ##### 2. 控制台登录配置 在`conf/...
【ActiveMQ使用入门】 ActiveMQ是一款基于Java的消息中间件,它是Apache基金会的开源项目,也是最早的JMS(Java消息服务)实现之一。JMS是一种标准,定义了在Java环境中访问消息中间件的接口,但并未具体实现。...
在使用ActiveMQ消息中间件时,我们常常需要考虑如何在多个实例之间实现高可用性(HA)。其中一种常用的方式是采用**Failover(故障转移)**模式来确保即使一个节点出现问题,另一个节点也能接管服务,从而维持系统的...
【描述】中提到的"activeMQ的简单demo"是指一个基础的示例项目,旨在帮助开发者快速理解和使用ActiveMQ。通过导入此项目并运行,你可以直观地看到ActiveMQ如何工作,如何发送和接收消息,以及如何配置和管理消息队列...
XML常用于数据交换,因为它具有自我描述性和平台无关性,与JMS结合使用,可以使得消息的结构化和解析更为简单,从而在异构环境中实现文件的高效传输。 2. **JMS 使用 ActiveMQ 传送文件.doc** - 这个文档应该直接...
本文将深入探讨如何在Spring环境中使用ActiveMQ来实现消息的发送与接收,以提高系统的可扩展性和解耦性。 首先,我们需要了解Spring对ActiveMQ的支持。Spring提供了`spring-jms`模块,它包含了一组丰富的API和配置...
本示例将介绍如何使用ActiveMQ实现一个简单的消息队列应用。 首先,我们需要理解消息队列(Message Queue)的概念。消息队列是一种异步通信模式,允许应用程序之间通过消息进行通信,而无需直接调用对方。这种解耦...
在本示例中,我们将专注于讲解如何在C#环境下使用ActiveMQ进行消息发送。 在C#中使用ActiveMQ,你需要引用Apache.NMS和Apache.NMS.ActiveMQ这两个库,它们包含了C#客户端与ActiveMQ服务器交互所需的所有功能。首先...
本项目“springMVC activemq简单聊天室”结合了这两个技术,创建了一个基本的在线聊天应用。下面将详细阐述这两个技术以及它们在聊天室中的应用。 首先,SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的...
【ActiveMQ-JMS简单实例使用Tomcat】是一个关于如何在Tomcat环境下集成并使用ActiveMQ进行JMS消息传递的初级教程。ActiveMQ是一款开源的消息中间件,它遵循JMS(Java Message Service)1.1规范,能兼容J2EE1.4及以上...
#### 三、ActiveMQ的简单使用示例 ##### 1. 配置与启动 ActiveMQ的安装和配置相对简单,一般包括以下步骤: - 下载并解压ActiveMQ压缩包。 - 修改配置文件`conf/activemq.xml`,设置监听端口、日志级别等。 - 启动...
Spring框架提供了对JMS的强大支持,使得配置和使用ActiveMQ变得更加简单。你可以通过Spring的XML配置文件或Java配置类来定义ConnectionFactory、Destination(队列或主题)和MessageListener。在Spring的环境下,...
安装ActiveMQ非常简单,只需要以下几个步骤: 1. 下载并解压压缩包到你选择的目录。 2. 进入解压后的目录,找到bin目录。 3. 对于Windows用户,运行start.bat启动ActiveMQ;对于Linux或Mac用户,执行bin目录下的...
本教程将通过一个简单的例子介绍ActiveMQ的两个核心模式:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。我们将使用IntelliJ IDEA作为集成开发环境来实现这些示例。 首先,我们需要...