ActiveMq安装以及简单的测试

如果你还没有使用过消息中间件,这篇文章可以带你初步感受一下消息中间件。下面就带大家简单测试一下ActiveMq;

一、第一部分下载以及安装:

1、首先ActiveMq属于Apache下,下载路径:http://activemq.apache.org/  Classic(经典的)

2、这里有Windows版本和linux版本 ,大家可以根据自己不同的需求来下载。

 

3、下载完了直接解压就可以使用了;

 4、进入bin目录下找到对应的bat文件点击运行,这里运行.exe文件也可以只是程序运行出错时,exe文件会直接闪退;

5、启动以后界面看下图:如果不进行修改配置文件的话  会有默认的账号密码和端口号(8161)

 

5、 ActiveMq做的还是比较友好的:看下图的Client界面你就明白了 http://localhost:8161/

 

 二、测试阶段:

1、ActiveMq已经下载安装完成,接下来进入测试阶段;

    1. 先创建一个maven项目;
    2. 添加pom依赖(如何查找pom依赖:浏览器中直接搜索 Maven Repository: activemq-all )
    3. 点击进入找到对应的maven依赖;

2、消息发送者的代码:

package com.example.dongl.activemq.simple;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * ActiveMq  Queue 简单的测试
* 消息发送者
*/ public class Sender { public static void main(String[] args) throws JMSException { //获取连接工厂 ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory( //如果你没有修改配置文件时,可以这么写,如果你修改了账户密码 直接替换就好了 ActiveMQConnectionFactory.DEFAULT_USER, ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616" ); //获取一个指向ActiveMq的连接 Connection connection = connectionFactory.createConnection(); //获取session 这里事务 先写成false ACK也写成默认提交 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //找到目的地 获取destination,然后向这个目的地写数据 ,消费端也会从这个目的地取数据 Queue queue = session.createQueue("dongliang"); // producer->创建者 消息创建者 MessageProducer producer = session.createProducer(queue); //创建消息 for (int i = 0; i < 100; i++) { TextMessage textMessage = session.createTextMessage("测试数据"); //向目的地写消息 producer.send(textMessage); } //关闭连接(根据情况一般为短连接 也有情况一直向mq写消息) connection.close(); System.out.println("exit code 0 !!!!!!!!!"); } }

3、运行完生产者代码,看一下客户端界面:

4、消息接受者代码:

package com.example.dongl.activemq.simple;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

public class Receiver {
    public static void main(String[] args) throws JMSException {
        //获取连接工厂
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
                ActiveMQConnectionFactory.DEFAULT_USER,
                ActiveMQConnectionFactory.DEFAULT_PASSWORD,
                "tcp://localhost:61616"
        );
        //获取一个指向ActiveMq的连接
        Connection connection = connectionFactory.createConnection();
        connection.start();
        //获取session
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        //找到目的地 获取destination,然后向这个目的地写数据 ,消费端也会从这个目的地取数据
        Destination queue = session.createQueue("dongliang");
        //  producer->创建者   消息创建者
        MessageConsumer consumer = session.createConsumer(queue);

        //获取消息
//        while(true){
//            Message message = consumer.receive();
//            System.out.println("message"+message);
//        }

        for(int i = 0 ; ; i++){
            TextMessage message = (TextMessage)consumer.receive();
            System.out.println(message.getText());
        }
    }
}

5、运行一下接收者代码:

6、 看一下客户端界面:

 结果显示:产生的消息已经被消费;

初步的介绍就简单写到这里,以后会陆续介绍一些高级用法,如果有兴趣一起学习,可以关注一下,一起讨论一起学习。

原文地址:https://www.cnblogs.com/dongl961230/p/13074253.html