activemq入門demo

創建maven工程,pom文件如下
<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());
		}
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章