ActiveMQ消息中间件-hello world

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wu2374633583/article/details/83090761

生产者

package com.wuk.mq;

import java.util.concurrent.TimeUnit;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

/**
 * 生产者
 * @author Administrator
 *
 */
public class Send {

	public static void main(String[] args) throws Exception {
		
		 //1、创建工厂连接对象,需要制定ip和端口号  默认端口号为tcp://127.0.0.1:61616
		ConnectionFactory connectionFactory=new ActiveMQConnectionFactory
				(ActiveMQConnectionFactory.DEFAULT_USER, 
				ActiveMQConnectionFactory.DEFAULT_PASSWORD, 
				"tcp://127.0.0.1:61616");
		 //2、使用连接工厂创建一个连接对象
		Connection connection=connectionFactory.createConnection();
		//3、开启连接
		connection.start();		
		//4、使用连接对象创建会话(session)对象
		//参数1 是是否启用事务 参数2 签收模式,一般是自动签收
		Session session=connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
		//5、使用会话对象创建目标对象,包含queue和topic(一对一和一对多)
		Destination destination=session.createQueue("test-queue");
		//6、使用会话对象创建生产者对象
		MessageProducer producer=session.createProducer(destination);
		
		//设置持久化和非持久化状态
		//producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

		//7、使用会话对象创建一个消息对象
		for(int i=0;i<10;i++){
			TextMessage textMessage= session.createTextMessage("我是消息内容"+i);
			//8、发送消息
			//producer.send(destination, message, deliveryMode, priority, timeToLive);
			//第一个参数是目标地址
			//第二个参数是具体的数据信息
			//第三个参数是传输数据的模式
			//第四个参数是优先级
			//第五个参数是消息的过期时间
			producer.send(destination,textMessage);
			TimeUnit.SECONDS.sleep(1);
		}
		//9、关闭资源
		if(producer!=null){
			producer.close();
		}
		if(session!=null){
			session.close();
		}
		if(connection!=null){
			connection.close();
		}
	   
	}

}

消费者

package com.wuk.mq;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

/**
 * 消费者
 * 
 * @author Administrator
 *
 */
public class Receive {

	public static void main(String[] args) throws Exception {

		// 1、创建工厂连接对象,需要制定ip和端口号 默认端口号为tcp://127.0.0.1:61616
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
				ActiveMQConnectionFactory.DEFAULT_USER,
				ActiveMQConnectionFactory.DEFAULT_PASSWORD,
				"tcp://127.0.0.1:61616");
		// 2、使用连接工厂创建一个连接对象
		Connection connection = connectionFactory.createConnection();
		// 3、开启连接
		connection.start();

		// 4、使用连接对象创建会话(session)对象
		// 参数1 是是否启用事务 参数2 签收模式,一般是自动签收
		Session session = connection.createSession(Boolean.FALSE,
				Session.AUTO_ACKNOWLEDGE);
		// 5、使用会话对象创建目标对象,包含queue和topic(一对一和一对多)
		Destination destination = session.createQueue("test-queue");
		// 6、使用会话对象创建消费者对象
		MessageConsumer consumer = session.createConsumer(destination);
		
		while(true){
			
			TextMessage textMessage=(TextMessage) consumer.receive();
			System.out.println("消费数据"+textMessage.getText());
			
		}
	}
}

猜你喜欢

转载自blog.csdn.net/wu2374633583/article/details/83090761