共計(jì) 1305 個字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
在 Java 中啟動監(jiān)聽 MQ 消息的代碼可以使用 JMS(Java Message Service)的 API 來實(shí)現(xiàn)。下面是一個簡單的示例代碼:
import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;
public class MQMessageListener {public static void main(String[] args) {try {// 創(chuàng)建連接工廠
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// 創(chuàng)建連接
Connection connection = connectionFactory.createConnection();
connection.start();
// 創(chuàng)建會話
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// 創(chuàng)建目的地(隊(duì)列或主題)
Destination destination = session.createQueue("myQueue");
// 創(chuàng)建消息消費(fèi)者
MessageConsumer consumer = session.createConsumer(destination);
// 設(shè)置消息監(jiān)聽器
consumer.setMessageListener(new MessageListener() {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();
}
}
});
// 等待消息的到達(dá)
Thread.sleep(10000);
// 關(guān)閉連接
consumer.close();
session.close();
connection.close();} catch (Exception e) {e.printStackTrace();
}
}
}
在上述代碼中,首先創(chuàng)建了一個連接工廠(ActiveMQConnectionFactory),然后使用連接工廠創(chuàng)建了連接(Connection),再使用連接創(chuàng)建了會話(Session),會話用于發(fā)送和接收消息。接著創(chuàng)建了一個消息消費(fèi)者(MessageConsumer),并通過調(diào)用 setMessageListener
方法設(shè)置了一個消息監(jiān)聽器。消息監(jiān)聽器的 onMessage
方法會在有消息到達(dá)時(shí)被調(diào)用,可以在該方法中對收到的消息進(jìn)行處理。最后通過調(diào)用 Thread.sleep
方法等待消息的到達(dá),關(guān)閉連接時(shí)需要分別關(guān)閉消息消費(fèi)者、會話和連接。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完
發(fā)表至: Java
2023-12-13