ActiveMQ(一)在linux的安装

1.安装

1. JDK环境安装

2. activeMQ安装

  • 下载mq的bin.tar.gz 包
  • 解压安装 tar -zxvf apache-activemq-5.11.1-bin.tar.gz

3. 防火墙、端口

    activemq用到两个端口:

    消息通讯的端口,默认61616

    管理控制台端口,默认8161,可在conf/jetty.xml中修改

<bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
 <!-- the default port number for the web console -->
 <property name="host" value="0.0.0.0"/>
 <property name="port" value="8161"/>
</bean>

 

4.启动  

    cd /opt/apache-activemq-5.11.1/bin

    ./activemq start

5. 登录 http://ip:8161   ,默认账户 admin/admin

 

 

2.命令行工具

 

3.java demo

生产者

import org.apache.activemq.ActiveMQConnectionFactory;
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 java.time.LocalDateTime;

/**
 * @see MyProducer
 * @since 1.0
 */
public class MyProducer {
    public static void main(String[] args) throws JMSException {
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.11.80.18:61616");

        //用连接工厂创建连接
        Connection connection = connectionFactory.createConnection();
        connection.start();

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

        //创建目的地
        Destination destination = session.createQueue("my-queue");

        //创建生产者
        MessageProducer producer = session.createProducer(destination);

        //创建消息体
        TextMessage message = session.createTextMessage("AMQ发送消息" + LocalDateTime.now().toString());

        producer.send(message);

        session.commit();
        session.close();
        connection.close();
    }     
}

 

消费者

import org.apache.activemq.ActiveMQConnectionFactory;

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.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;

/**
 * @see MyConsumer
 * @since 1.0
 */
public class MyConsumer {
    public static void main(String[] args) throws JMSException {
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://10.11.80.18:61616");

        //用连接工厂创建连接
        Connection connection = connectionFactory.createConnection();
        connection.start();

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

        //创建目的地
        Destination destination = session.createQueue("my-queue");

        //创建消费者
        MessageConsumer consumer = session.createConsumer(destination);

        TextMessage message = (TextMessage) consumer.receive();
        System.out.println("接收到消息:" + message.getText());

        session.commit();
        session.close();
        connection.close();
    }
}

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值