<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tansun</groupId>
<artifactId>ActivemqTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.activemq/activemq-all -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.2</version>
</dependency>
</dependencies>
</project>
生產者的類:每運行一次生產者的主方法,就會發送一條消息
package com.tansun;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Producer {
public static void main(String[] args) throws JMSException {
// 創建連接工廠
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
// 創建連接
Connection connection = connectionFactory.createConnection();
// 開啓連接
connection.start();
// 創建會話(不使用事物)
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 創建一對一的消息隊列
Queue queue = session.createQueue("queue test");
// 創建生產者
MessageProducer producer = session.createProducer(queue);
// 創建消息
TextMessage message = session.createTextMessage("hello activemq");
// 發送消息
producer.send(message);
// 關閉會話和連接
session.close();
connection.close();
}
}
消費者的類:消費者使用死循環接收消息並打印到控制檯上
package com.tansun;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Consumer {
public static void main(String[] args) throws JMSException {
// 創建連接工廠
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.229.128:61616");
// 創建連接
Connection connection = connectionFactory.createConnection();
// 開啓連接
connection.start();
// 創建回話(不使用事物)
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 創建一對一的消息隊列
Queue queue = session.createQueue("queue test");
// 創建消費者
MessageConsumer consumer = session.createConsumer(queue);
// 接收消息
while(true){
TextMessage message = (TextMessage)consumer.receive();
System.out.println(message.getText());
}
}
}