@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();
}
本工具仅用于调试用,提供一种监听思想。