点对点MQ:发送的消息持久化到mq服务器 直到接收为止
package com.item1024.mq; import org.apache.activemq.ActiveMQConnectionFactory; import org.junit.Test; import javax.jms.*; import java.io.IOException; public class TestQueue { Connection connection; { try { connection = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616").createConnection(); } catch (JMSException e) { e.printStackTrace(); } } @Test public void testQueueProducer() throws JMSException { connection.start(); //是否开启事务,应答模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("quenue01"); MessageProducer messageProducer = session.createProducer(queue); TextMessage textMessage = session.createTextMessage("这是我的MQ测试222"); messageProducer.send(textMessage); messageProducer.close(); session.close(); connection.close(); } /** * 循环读取 * @throws JMSException */ @Test public void testQueueConsumer() throws JMSException { connection.start(); //是否开启事务,应答模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("quenue01"); MessageConsumer messageConsumer = session.createConsumer(queue); while (true){ Message message = messageConsumer.receive(3000); if (message == null){ break; } TextMessage textMessage = (TextMessage)message; String text = textMessage.getText(); System.out.println(text); } messageConsumer.close(); session.close(); connection.close(); } /** * 监听读取 */ @Test public void testQueueConsumer01() throws JMSException, IOException { connection.start(); //是否开启事务,应答模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("quenue01"); MessageConsumer messageConsumer = session.createConsumer(queue); 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(); } }