其他分享
首页 > 其他分享> > ActiveMQ学习笔记(一)Active安装和基本使用

ActiveMQ学习笔记(一)Active安装和基本使用

作者:互联网

下载并安装ActiveMQ服务器端
  1:从http://activemq.apache.org/download.html下载最新的ActiveMQ
  2:直接解压,然后拷贝到你要安装的位置就好了
  启动运行
  1:普通启动:到ActiveMQ/bin下面,./activemq start
  2:启动并指定日志文件./activemg start>/tmp/activemalog
  检查是否已经启动
  ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令以便检验是否已经成功启动ActiveMQ服务:
  1:比如查看61616端口是否打开:netstat -an | grep 61616
  2:也可以直接查看控制台输出或者日志文件
  3:还可以直接访问ActiveMQ的管理页面:http://192.168.1.106:8161/admin/
  默认的用户名和密码是admin/admin
  关闭ActiveMQ,可以用。/activemq stop
  暴力点的可以用ps -ef | grep activemq 来得到进程号,然后kill掉

 

具体实现:

 启动成功后的页面

创建Maven项目添加如下依赖

<dependency>
    <groupId>org.apache.activemq</groupId>
    <artifactId>activemq-all</artifactId>
    <version>5.9.0</version>
</dependency>
<dependency>
    <groupId>org.apache.xbean</groupId>
    <artifactId>xbean-spring</artifactId>
    <version>3.16</version>
</dependency>
1.新建消息生产者角色Class
public class QueueSender {
    public static void main(String[] args) throws JMSException {

        //1. ActiveMQ连接工厂
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        //2. 根据连接工厂创建连接
        Connection connection = connectionFactory.createConnection();
        //3. 启动连接
        connection.start();
        //4. 通过连接取得会话(参数一表示事务,参数二表示自动确认)
        Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
        //5. 通过session创建ActiveMQ中的目的地
        Destination destination = session.createQueue("my-queue");
        //6. 通过session创建消息生产者
        MessageProducer producer = session.createProducer(destination);

        for ( int i=0;i<3;i++){
            //7. 通过session创建一个消息
            TextMessage textMessage = session.createTextMessage("message--" + i);
            //8. 通过生产者将消息发送给ActiveMQ
            producer.send(textMessage);
        }

        //9. 提交session
        session.commit();
        //10. 关闭session
        session.close();
        //11. 关闭连接
        connection.close();
    }
}

2.新建消息接收者Class

public class QueueReceiver {
    public static void main(String[] args) throws JMSException {

        //1. ActiveMQ连接工厂
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        //2. 根据连接工厂创建连接
        Connection connection = connectionFactory.createConnection();
        //3. 启动连接
        connection.start();
        //4. 通过连接取得会话(参数一表示事务,参数二表示自动确认)
        Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
        //5. 通过session创建ActiveMQ中的目的地
        Destination destination = session.createQueue("my-queue");
        //6. 通过session创建消息接收者
        MessageConsumer consumer = session.createConsumer(destination);

        int i =0;
        while (i<3){
            i++;
            TextMessage message = (TextMessage) consumer.receive();
            session.commit();
            System.out.println("收到消息" + message.getText());
        }
        //10. 关闭session
        session.close();
        //11. 关闭连接
        connection.close();
    }
}

3.执行消息生产者代码后查看ActiveMQ Broker队列中的消息

然后执行消息接收者代码查看结果:

 

最后查看ActiveMQ中消息的

标签:61616,ActiveMQ,笔记,connection,session,Active,activemq,连接
来源: https://blog.csdn.net/daiyuenlong110/article/details/114766335