概述
ActiveMQ支持queue和topic两种消息模式
queue模式实例
package com.activemq.mqactivemq.mq;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class sender {
public static void main(String[] args) throws JMSException {
//1.获取连接工厂
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD
,"tcp://localhost:61616");
//2.获取一个向activeMQ的连接
Connection connection = connectionFactory.createConnection();
//3.获取session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//4.找目的地,获取destination,消费端也会从这个目的地获取消息
Queue queue = session.createQueue("user");
//5.1 消息创建者
MessageProducer producer = session.createProducer(queue);
for(int i =0;i < 100; i++){
// 5.2 创建消息
TextMessage message = session.createTextMessage("hi :"+ i);
//5.3 发送消息
producer.send(message);
}
System.out.println("消息发送成功");
//6.关闭连接
connection.close();
}
}
package com.activemq.mqactivemq.mq;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class receiver {
public static void main(String[] args) throws JMSException {
//1.获取连接工厂
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD
,"tcp://localhost:61616");
//2.获取一个向activeMQ的连接
Connection connection = connectionFactory.createConnection();
connection.start();
//3.获取session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//4.找目的地,获取destination,消费端也会从这个目的地获取消息
Queue queue = session.createQueue("user");
//5.1 消息接收者
MessageConsumer consumer = session.createConsumer(queue);
while (true){
TextMessage receive = (TextMessage)consumer.receive();
System.out.println(receive.getText());
}
}
}
queue 图形界面
通过图形界面,可以看到queue的消费情况