阅读量:6
在Java中,可以使用JMS(Java Message Service)来启动监听MQ消息。下面是一个简单的示例代码:
import javax.jms.*; import org.apache.activemq.ActiveMQConnectionFactory; public class MQMessageListener implements MessageListener { private Connection connection; private Session session; private MessageConsumer consumer; public void startListening() { try { // 创建连接工厂 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); // 创建连接 connection = connectionFactory.createConnection(); // 启动连接 connection.start(); // 创建会话 session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建消息队列 Destination destination = session.createQueue("YourQueueName"); // 创建消息消费者 consumer = session.createConsumer(destination); // 设置消息监听器 consumer.setMessageListener(this); } catch (JMSException e) { e.printStackTrace(); } } @Override public void onMessage(Message message) { try { // 处理收到的消息 if (message instanceof TextMessage) { TextMessage textMessage = (TextMessage) message; System.out.println("Received message: " + textMessage.getText()); } } catch (JMSException e) { e.printStackTrace(); } } public void stopListening() { try { // 关闭连接 consumer.close(); session.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } }
在上面的代码中,首先通过ActiveMQConnectionFactory
创建连接工厂,然后使用连接工厂创建连接。接着创建会话和消息队列,并创建消息消费者。然后设置消息监听器为当前类,实现MessageListener
接口的onMessage
方法来处理收到的消息。最后调用startListening
方法启动监听,stopListening
方法停止监听。
你需要修改代码中的tcp://localhost:61616
为你MQ的地址和端口,YourQueueName
为你要监听的消息队列的名称。在onMessage
方法中可以根据收到的消息类型来进行不同的处理。