@Component
public class TestMQ {
//表示消息隊列地址路徑 注意是tcp連接 IP地址 + 端口號
public static final String ACTIVEMQ_URL = "tcp://10.10.101.12:8888";
//配置訂閱的目標名
public static final String TOPIC_NAME= "topic";
public static void getMessage() throws JMSException, IOException {
//直接鍵入用戶名 密碼
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory("username","password",ACTIVEMQ_URL);
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic(TOPIC_NAME);
MessageConsumer messageConsumer =session.createConsumer(topic);
messageConsumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
if(null != message && message instanceof TextMessage)
{
TextMessage textMessage=(TextMessage)message;
try {
System.out.println("--------------------已收到消息:"+textMessage.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
}
});
System.in.read();
messageConsumer.close();
session.close();
connection.close();
}
}
並在入口方法調用getMessage()方法:
public static void main(String[] args) throws IOException, JMSException {
SpringApplication.run(WebApplication.class, args);
TestMQ.getMessage();
}
本工具僅用於調試用,提供一種監聽思想。