zoukankan      html  css  js  c++  java
  • 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、 看一下客户端界面:

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

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

  • 相关阅读:
    中介模式与外观模式(门面模式)区别
    java反射
    Spring注解@ResponseBody,@RequestBody
    Spring事务管理
    Junit运行在Spring环境下
    java开发常用到的jar包总结
    java二维数组
    Android开发之执行定时任务AlarmManager,Timer,Thread
    Android开发之Android Context,上下文(Activity Context, Application Context)
    Android开发之创建App Widget和更新Widget内容
  • 原文地址:https://www.cnblogs.com/dongl961230/p/13074253.html
Copyright © 2011-2022 走看看