`
taiwei.peng
  • 浏览: 232591 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Active Mq 扫盲

    博客分类:
  • java
阅读更多

1.下载ActiveMQ

去官方网站下载:http://activemq.apache.org/

2.运行ActiveMQ

解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。

启动ActiveMQ以后,登陆:http://localhost:8161/admin/,创建一个Queue,命名为FirstQueue。

3.创建Eclipse项目并运行

需要的jar 包

activemq-core-5.5.1.jar

geronimo-j2ee-management_1.1_spec-1.0.1.jar

geronimo-jms_1.1_spec-1.1.1.jar

 

 

package com.soft;

 

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.DeliveryMode;

import javax.jms.Destination;

import javax.jms.MessageProducer;

import javax.jms.Session;

import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;

import org.apache.activemq.ActiveMQConnectionFactory;

 

public class Sender {

 

private static final int SEND_NUMBER = 5;

 

public static void main(String[] args) {

ConnectionFactory connectionFactory;

Connection connection = null;

Session session;

// Destination :消息的目的地;消息发送给谁.    

Destination destination;

   // MessageProducer:消息发送者

MessageProducer producer;

// 构造ConnectionFactory实例对象,此处采用ActiveMq的实现jar

connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD, "tcp://localhost:61616");

try {

connection = connectionFactory.createConnection();

connection.start();

session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);

// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置

destination = session.createQueue("FirstQueue");

// 得到消息生成者【发送者】

producer = session.createProducer(destination);

// 设置不持久化,此处学习,实际根据项目决定

producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

// 构造消息,此处写死,项目就是参数,或者方法获取

sendMessage(session, producer);

session.commit();

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (null != connection)

connection.close();

} catch (Throwable ignore) {

 

}

}

}

 

/**

* 发送消息

* @param session

* @param producer

* @throws Exception

*/

public static void sendMessage(Session session, MessageProducer producer)throws Exception {       

for (int i = 1; i <= SEND_NUMBER; i++) {            

TextMessage message = session.createTextMessage("ActiveMq 发送的消息" + i);            

// 发送消息到目的地方            

System.out.println("发送消息:" + "ActiveMq 发送的消息" + i);            

producer.send(message);   

}

}

 

}

 

 

package com.soft;

 

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.MessageConsumer;

import javax.jms.Session;

import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnection;

import org.apache.activemq.ActiveMQConnectionFactory;

 

public class Receiver {

 

public static void main(String[] args) {        

ConnectionFactory connectionFactory;        

Connection connection = null;        

Session session;        

// Destination :消息的目的地;消息发送给谁.

Destination destination;       

// 消费者,消息接收者       

MessageConsumer consumer;        

connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,ActiveMQConnection.DEFAULT_PASSWORD,"tcp://localhost:61616");       

try {            

connection = connectionFactory.createConnection();            

connection.start();            

session = connection.createSession(Boolean.FALSE,Session.AUTO_ACKNOWLEDGE);            

// 获取session注意参数值xingbo.xu-queue是一个服务器的queue,须在在ActiveMq的console配置            

destination = session.createQueue("FirstQueue");            

consumer = session.createConsumer(destination);            

while (true) {                

//设置接收者接收消息的时间,为了便于测试,这里谁定为100s                

TextMessage message = (TextMessage) consumer.receive(100000);                

if (null != message) {                    

System.out.println("收到消息" + message.getText());                

} else {                    

break;                

}            

}        

} catch (Exception e) {            

e.printStackTrace();        

} finally {            

try {                

if (null != connection)                   

connection.close();            

} catch (Throwable ignore) {           

 

}        

}

 

}

 

分享到:
评论

相关推荐

    Apache Active MQ 简单的示例

    **Apache Active MQ 简介** Apache Active MQ 是一个开源的消息中间件,它遵循Java消息服务(JMS)规范,提供了可靠的消息传递功能。作为Apache软件基金会的一部分,Active MQ 支持多种协议,如OpenWire、AMQP、...

    Active MQ in action 教程

    《Active MQ in action 教程》是一本深入探讨Apache ActiveMQ消息中间件的实战指南,由Bruce Snyder、Dejan Bosanac与Rob Davies三位作者共同撰写。本书旨在为读者提供全面且深入的理解ActiveMQ及其在实际项目中的...

    Active MQ C++实现通讯 X86 librariy

    Active MQ C++实现通讯 X86 librariy:CMS (stands for C++ Messaging Service)类似于JMS API用于同Message Brokers通讯(例如Active MQ)。 APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如...

    Jfinal -active mq

    Jfinal -active mq: 消费:extends JFinalQueueConsumer 生产:JFinalQueue.sendMessage(queueName, message);

    Active MQ in Action

    《Active MQ in Action》是关于Apache ActiveMQ的权威指南,由Manning出版社出版。这本书深入浅出地介绍了ActiveMQ这一开源消息代理系统,是理解、配置、管理和优化ActiveMQ的关键资源。ActiveMQ是Apache软件基金会...

    active_mq_mvc源码

    在本项目"active_mq_mvc源码"中,我们主要关注的是如何在MVC(Model-View-Controller)架构中有效地集成ActiveMQ,一个流行的Java消息代理和消息中间件。源码分析将揭示设计思想、设计模式以及如何巧妙地运用反射...

    active mq思维导图

    Active MQ 基础知识思维导图。主要是JMS总结介绍。用于学习和复习

    active MQ 通信程序全套代码

    在“Active MQ 通信程序全套代码”中,你可能会找到一系列用于实现不同场景下消息通信的示例代码,包括Windows和Linux平台的实现。 首先,ActiveMQ的核心功能是作为一个消息代理,它接收和转发消息,允许应用程序...

    Active MQ 与 IBM WebSphere MQ 可用性和管理分析

    在当今的企业计算环境中,消息队列中间件(MQ)发挥着核心作用,它保证了系统之间通信的可靠性和异步性质。Apache ActiveMQ和IBM WebSphere MQ(简称IBMMQ)是市场上广泛使用的两种消息队列产品。ActiveMQ是开源社区中...

    camel-wmq-amq:Camel IBM Websphere MQ 到 Active MQ 桥接路由

    Camel IBM Websphere MQ 到 Active MQ 桥接路由 先决条件 IBM 为安装在 Fuse 上的 MQ 客户端提供了 OSGi jar 文件IBM_MQ_INSTALL_DIR/java/lib/OSGi 运行 AMQ 代理 带有填充属性的 JBOSS_FUSE_INSTALL_DIR/etc/ 中...

    Active mq jdbc持久化所需要的包.rar

    针对"Active mq jdbc持久化所需要的包.rar"这个压缩文件,我们可以推断它包含了实现ActiveMQ使用JDBC持久化的相关依赖库。通常,这些库可能包括: 1. ActiveMQ的主库:包含了ActiveMQ的核心功能,如消息队列管理、...

    active MQ ,消息队列

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker Protocol,即AMQP)和Java消息服务(Java Message Service,JMS)规范。消息队列是分布式系统中的一个重要概念...

    Active MQ教程+配置

    2. **商业JMS Providers**:例如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ、NonStop Server for Java Message Service (JMS)、Sun Java System Message Queue、Sonic jms、TIBCO Enterprise For JMS和iLinkMQ...

    Manning.Active.MQ.in.Action.(MEAP)

    ActiveMQ Manning.Active.MQ.in.Action.(MEAP) Active.MQ Active.MQ Manning.Active.MQ.in.Action.(MEAP) Active.MQ Active.MQ

    active MQ maven POM方式

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message ...通过实际操作和调试mq-demo02项目,初学者可以快速掌握ActiveMQ的基本使用,并为后续更复杂的消息传递场景打下基础。

    集成Websphere Application Server 和Active MQ

    标题中的“集成Websphere Application Server 和Active MQ”意味着我们将探讨如何将IBM的Websphere Application Server(WAS)与Apache ActiveMQ结合使用,以实现企业级的消息传递和队列管理功能。Websphere ...

    Delphi向MQ远程队列发送消息

    IBM WebSphere MQ,作为业界广泛使用的消息中间件,提供可靠的消息传递服务,确保数据在分布式系统中的安全传输。本篇文章将深入探讨如何使用古老的编程语言Delphi 7与IBM WebSphere MQ集成,实现向远程消息队列发送...

    IBM WebSphere MQ的使用

    IBM WebSphere MQ,原名MQSeries,是IBM提供的一款企业级消息中间件产品,它允许应用程序之间通过网络发送和接收消息,实现异步通信和数据交换。在IT领域,消息中间件扮演着至关重要的角色,它能解耦系统组件,提高...

    消息队列active mq

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的...

    ACTIVE MQ通讯实现

    基于C#开发的activeMQ中间件通信技术的实现

Global site tag (gtag.js) - Google Analytics