`
zhaohaolin
  • 浏览: 1025937 次
  • 性别: 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实战——实现一个简易版的聊天室》中,我们将深入探讨如何利用Apache ActiveMQ构建一个简单的在线聊天应用。ActiveMQ是Apache软件基金会的一个开源项目,它是一款功能强大的消息中间件,用于在...

    自己实现的 ActiveMQ 多线程客户端 包含生产消息客户端和消费者消息客户端

    对于这样的多线程应用,进行充分的单元测试和集成测试是必要的,以确保在各种场景下都能正常工作。 综上所述,这个项目提供了自定义的 ActiveMQ 客户端,特别是多线程的实现,对于需要处理大量并发消息的应用场景...

    ActiveMQ 安装 手册 说明

    5. **ActiveMQ实战测试** 安装完成后,为了验证ActiveMQ是否正常工作,可以编写简单的Java程序使用JMS API发送和接收消息。首先,确保 `activemq-all-5.3.0.jar` 已添加到类路径。发送JMS消息的示例代码如下: ```...

    Java学习资料&项目源码&教程,基于java的聊天系统的设计于实现(系统12).zip

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和丰富的类库而备受开发者喜爱。本资源包“Java学习资料&项目源码&教程,基于java的聊天系统的设计于实现(系统12).zip”是专为Java学习者准备的宝贵...

    cxf_over_jms_kata:cxf之类

    【标题】"cxf_over_jms_kata:CXF与JMS结合的实战教程" 【描述】"cxf_over_jms_kata是一个基于Apache CXF和Java消息服务(JMS)的示例项目,旨在展示如何在分布式环境中利用CXF框架提供Web服务,并通过JMS进行异步...

Global site tag (gtag.js) - Google Analytics