ActiveMq在linux下的安装和javaapi例子

一、linux进行安装
1.官网http://activemq.apache.org/download.html下载:
在这里插入图片描述
在这里插入图片描述
2.放到linux的文件夹:/usr/local/activemq下
3.解压下载好的压缩包:tar –zxvf apache-activemq-5.15.8-bin.tar
4.到解压好的activemq中,找到bin目录,在bin目录下执行:
./activemq start
在这里插入图片描述
表示启动成功
5.如果只是虚拟机的话,开放端口,需要开放两个端口8161、61616;其中8161是activemq的页面访问的端口,61616是activemq的连接端口.
firewall-cmd --zone=public --add-port=8161/tcp –permanent
firewall-cmd --zone=public --add-port=61616/tcp –permanent
重启防火墙
systemctl resetart firewalld.service
6.页面连接,ip:8161/admin,用户名和密码都为admin。
在这里插入图片描述
二、javaapi编程方式
1.消息发送方代码编写:

package com.activemq.demo.sender;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * 发送消息
 *
 * @author xupf@wangreat.com
 * @create 2019-01-14 10:08
 */
public class Sender {
    public static void main(String[] args) throws JMSException {
        // 1.连接工厂
        ConnectionFactory factory = new ActiveMQConnectionFactory("admin", "admin", "tcp://192.168.187.132:61616");

        // 2.连接
        Connection connection = factory.createConnection();
        connection.start();

        // 3.创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 4.获取 Destination
        Destination destination = session.createQueue("test.queue");

        // 4.创建一个Producer
        MessageProducer producer = session.createProducer(destination);

        // 5.创建消息
        TextMessage message = session.createTextMessage("this a first queue message");
        producer.send(message);

        // 关闭连接
        session.close();
        connection.close();
    }
}


2.消息接收方代码编写:

package com.activemq.demo.receiver;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * 消息接收者
 *
 * @author xupf@wangreat.com
 * @create 2019-01-14 10:19
 */
public class Consumer {
    public static void main(String[] args) throws JMSException {
        // 1.连接工厂
        ConnectionFactory factory = new ActiveMQConnectionFactory("admin", "admin", "tcp://192.168.187.132:61616");

        // 2.连接
        Connection connection = factory.createConnection();
        connection.start();

        // 3.创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 4.获取 Destination
        Destination destination = session.createQueue("test.queue");

        // 5.创建一个Consumer
        MessageConsumer consumer = session.createConsumer(destination);

        // 6.获取消息
//        TextMessage message = (TextMessage) consumer.receive();
//        System.out.println(message.getText());

        consumer.setMessageListener(new MessageListener() {
            @Override
            public void onMessage(Message message) {
                try {
                    TextMessage msg = (TextMessage) message;
                    System.out.println(msg.getText());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
}


注:其中标红地方一定要记得写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随便的码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值