前言 |
首先先了解一下什么是AcitveMQ
ActiveMQ 是Apache出品消息中间件,来帮助实现高可用、高性能、可伸缩、易用和安全的企业级面向消息服务的系统。
ActiveMq的特点,多协议:TCP、SSL、NIO、UDP等、可插拔的体系结构,可以灵活定制、保证高性能的集群、支持消息持久化等。
ActiveMQ安装和启动 |
安装
- 仅需三步,下载linux的压缩包 ,传送门:ActiveMQ下载
- 解压,下图是解压之后的目录
- 启动,进入bin目录,输入命令 ./activemq start
[root@localhost apache-activemq-5.15.11]# ./activemq start
访问IP:8161/admin 初始账号密码都是admin ,出现下图则访问成功
实例
消息发送者:
public static void main(String[] args) throws JMSException, InterruptedException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.50.140: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);
for (int i = 0; i < 3; i++) {
TextMessage message = session.createTextMessage("message" + i);
producer.send(message);
}
session.commit();
session.close();
connection.close();
}
消息接收者
public static void main(String[] args) throws JMSException {
ConnectionFactory cf = new ActiveMQConnectionFactory("tcp://192.168.50.140:61616");
Connection connection = cf.createConnection();
connection.start();
final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("my_queue");
MessageConsumer consumer = session.createConsumer(destination);
int i = 0;
while (i < 3) {
TextMessage message = (TextMessage) consumer.receive();
session.commit();
System.out.println("收到的消息:" + message.getText());
i++;
}
session.close();
connection.close();
}
结果
这里可以看到我们有3个消息,出队列的消息有3个
注:这里有个地方要注意,每当我写好新的发送者和接收者,要下运行一些接收者,让ActiveMQ只要你订阅的是哪个队列
至此,对ActiveMQ的入门也就是算是完结了,希望本文对你有帮助!