`
zhaohaolin
  • 浏览: 1017080 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ActiveMQ实战(2):测试其是否正常工作【转】

    博客分类:
  • JMS
阅读更多

既然ActiveMQ安装好了并启动成功,接下来我们就编写一个测试程序,向它发送JMS消息,并从它上面接收JMS消息,看看是否能正常工作。

安装目录/usr/local/apache-activemq-5.3.0中,有一个jar包activemq-all-5.3.0.jar,记得把它下载下来,加入到测试程序的CLASSPATH中。

发送JMS消息的程序如下:

package jmstest;

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.JMSException;

import javax.jms.MessageProducer;

import javax.jms.Session;

import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

import org.apache.activemq.command.ActiveMQQueue;

/**

 *

 * @author Frank Wen

 */

public class Send {

    public static void main(String[] args) {

        ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://192.168.1.109:61616");

        Connection conn = null;

        Session session = null;

        try {

            conn = cf.createConnection();

            session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

            Destination destination = new ActiveMQQueue("jms_test_queue");

            MessageProducer producer = session.createProducer(destination);

            TextMessage message = session.createTextMessage();

            message.setText("Hello World!");

            producer.send(message);

            System.out.println("Send a message: Hello World!");

        } catch (JMSException ex) {

            ex.printStackTrace();

        } finally {

            try {

                if(session != null) {

                    session.close();

                }

                if(conn != null) {

                    conn.close();

                }

            } catch (JMSException ex) {

                ex.printStackTrace();

            }

        }

    }

}

接收JMS消息的程序如下:

package jmstest;

import javax.jms.Connection;

import javax.jms.ConnectionFactory;

import javax.jms.Destination;

import javax.jms.JMSException;

import javax.jms.Message;

import javax.jms.MessageConsumer;

import javax.jms.Session;

import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

import org.apache.activemq.command.ActiveMQQueue;

/**

 *

 * @author Frank Wen

 */

public class Receive {

    public static void main(String[] args) {

        ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://192.168.1.109:61616");

        Connection conn = null;

        Session session = null;

        try {

            conn = cf.createConnection();

            session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);

            Destination destination = new ActiveMQQueue("jms_test_queue");

            MessageConsumer consumer = session.createConsumer(destination);

            conn.start();

            Message message = consumer.receive();

            TextMessage textMessage = (TextMessage) message;

            System.out.println("Receive a message: " + textMessage.getText());

        } catch (JMSException ex) {

            ex.printStackTrace();

        } finally {

            try {

                if(session != null) {

                    session.close();

                }

                if(conn != null) {

                    conn.close();

                }

            } catch (JMSException ex) {

                ex.printStackTrace();

            }

        }

    }

}

先后执行以上两个程序,如果能正确发送和接收JMS消息,则表明ActiveMQ正常工作。

分享到:
评论

相关推荐

    activeMq 实战

    ### ActiveMQ 实战 #### JMS 基本构件概览 **ActiveMQ** 是一个高性能、功能丰富的开源消息中间件,它实现了 **Java Message Service (JMS)** 规范。JMS 规范定义了一组接口,这些接口提供了一个标准的方式来进行...

    ActiveMQ实战(英文版)

    通过阅读《ActiveMQ实战(英文版)》,读者将能够学习到如何配置、部署和管理ActiveMQ,以及如何在实际项目中利用其特性解决复杂的消息传递问题。此外,书中可能还会涵盖故障排查、性能调优和最佳实践等内容,帮助...

    activemq实战

    ### ActiveMQ 实战知识点解析 #### 一、ActiveMQ简介与背景 - **Apache ActiveMQ** 是一个开源的消息中间件,支持多种消息传递协议(如AMQP、STOMP等),并提供高性能、高可用性的消息服务。 - **背景**:在分布式...

    ActiveMQ 实战

    ActiveMQ实战手册以介绍JMS和ActiveMQ的操作及配置为主,JMS(Java Message Service)是Java平台中对于面向消息中间件(MOM)的一种标准的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。...

    ActiveMQ集群实战视频教程

    ActiveMQ集群实战教程

    ActiveMQ实战资料

    **ActiveMQ实战资料详解** Apache ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它是Java消息服务(Java Message Service,简称JMS)的一个实现。在分布式系统中,ActiveMQ扮演着至关重要的角色,它允许...

    Jmeter测试ActiveMQ性能报告

    【正文】 本报告详细阐述了使用JMeter对ActiveMQ进行性能测试的过程和结果,旨在评估ActiveMQ在JMS...通过这样的测试,可以为系统的优化和容量规划提供数据支持,确保在高并发场景下,ActiveMQ能够稳定、高效地工作。

    ActiveMQ连接和使用测试工程

    通过这个测试工程,开发者可以深入理解ActiveMQ的工作原理,学习如何在实际项目中利用其特性,提升系统的稳定性和可扩展性。同时,也可以借此机会熟悉Java的JMS(Java Message Service)API,为后续的分布式系统开发...

    mqttjs(activemq测试工具)

    **mqttjs(ActiveMQ测试工具)** 在信息技术领域,MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,常用于物联网(IoT)设备间的通信。它基于发布/订阅模型,允许设备间高效地发送和接收数据。而...

    activeMQ实战demo

    在这个“ActiveMQ实战demo”中,我们将深入探讨如何使用ActiveMQ进行消息发送和接收,并了解其工作原理。 首先,让我们了解一下JMS。JMS是Java平台上的一个标准接口,定义了生产、消费、管理和消息队列的标准API。...

    linux-apache-activemq-5.15.3和 linux-jdk1.8

    Linux Apache ActiveMQ 5.15.3与Java Development Kit (JDK) 1.8是两个关键组件,对于在Linux环境下开发、部署和管理消息传递系统至关重要。ActiveMQ是Apache软件基金会的一个开源项目,它是Java消息服务(JMS)的...

    使用WebSocket协议接收ActiveMQ消息

    对于ActiveMQ,其默认的WebSocket监听端口是61614。因此,一个完整的WebSocket连接URL可能是这样的:"ws://activemq服务器地址:61614/websocket"。 为了通过WebSocket接收ActiveMQ的消息,客户端需要实现WebSocket...

    ActiveMQ与Zookeeper集群测试代码

    Zookeeper在这里的角色可能是用来管理ActiveMQ集群的状态,实现节点间的选举和故障切换,以确保即使在单个节点失败的情况下,整个消息队列服务仍然可以正常运行。 描述中提到的“用于测试高可用效果”,进一步强调...

    基于zookeeper+levelDB的ActiveMQ集群测试代码

    通过以上步骤,你可以成功地搭建一个基于ZooKeeper和LevelDB的ActiveMQ集群,并对其进行测试。这种集群配置提供了高可用性和数据持久性,确保即使在部分节点故障的情况下,消息队列也能正常运行。同时,LevelDB的...

    测试activeMQ的java程序

    ActiveMQ,作为Java消息服务(JMS)的一个实现,是Apache软件基金会开发的一款开源消息中间件。它在分布式系统中扮演着重要的角色,允许不同组件或服务之间进行异步通信,提高了系统的可扩展性和解耦性。在Java编程...

    ActiveMQ和HornetQ性能对比

    本文旨在通过一系列测试数据对比分析ActiveMQ与HornetQ在不同消息大小及数量下的性能表现。测试环境为相同的硬件配置,确保了测试结果的公正性。通过对比两者的发送时间、吞吐量等指标,可以更直观地了解两者之间的...

    ActiveMq实战性视频

    ActiveMq实战性视频

    activeMQ static broker测试

    ActiveMQ 是一个开源的消息中间件,它遵循开放消息模型(JMS)标准,提供...测试同步确保了在各种异常情况下,系统仍能正常工作,保持服务的连续性和可靠性。因此,深入学习和实践这些内容对于IT专业人士来说是必要的。

    dubbo,zookeeper,activemq,redis,fastdfs实战操作文档

    ### Activemq实战操作 文档内容未提及ActiveMQ的具体操作,但通常ActiveMQ作为一个开源的消息中间件,在企业中用于实现异步消息传递和集成。 ### Redis实战操作 文档中没有明确提到Redis的使用,但作为高性能的...

    activeMQ-cpp 测试文件

    ActiveMQ 是一个开源的消息中间件,它遵循开放消息模型(Open Message Model)并支持多种协议,包括AMQP、STOMP、...在完成安装和配置后,通过编写和运行测试代码,可以验证activeMQ-cpp库是否已正确集成并能正常工作。

Global site tag (gtag.js) - Google Analytics