类似于udp,发送消息没有接收就没了
可以配置持久化 。所有监听都能同时收到消息
package com.item1024.mq; import org.apache.activemq.ActiveMQConnectionFactory; import org.junit.Test; import javax.jms.*; import java.io.IOException; public class TestTopic { Connection connection; { try { connection = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616").createConnection(); } catch (JMSException e) { e.printStackTrace(); } } @Test public void testTopicProducer() throws JMSException { connection.start(); //是否开启事务,应答模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = session.createTopic("topic01"); MessageProducer messageProducer = session.createProducer(topic); TextMessage textMessage = session.createTextMessage("这是我的MQ测试111"); messageProducer.send(textMessage); messageProducer.close(); session.close(); connection.close(); } @Test public void testTopicConsumer01() throws JMSException, IOException { connection.start(); //是否开启事务,应答模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = session.createTopic("topic01"); MessageConsumer messageConsumer = session.createConsumer(topic); messageConsumer.setMessageListener(new MessageListener() { public void onMessage(Message message) { TextMessage textMessage = (TextMessage)message; String text = null; try { text = textMessage.getText(); } catch (JMSException e) { e.printStackTrace(); } System.out.println(text); } }); //阻塞程序 System.in.read(); } }