发送消息
public void syncSendMessage() throws JMSException {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(
ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD,
"tcp://127.0.0.1:61616");
ActiveMQConnection connection = (ActiveMQConnection) factory.createConnection();
QueueSession queueSession = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = queueSession.createQueue("user");
QueueRequestor queueRequestor = new QueueRequestor(queueSession, queue);
TextMessage textMessage = queueSession.createTextMessage("adsada");
System.out.println("send ......");
connection.start();
Message message = queueRequestor.request(textMessage);
MessageListenerImpl.consumerMessage(message);
connection.close();
}
接收消息
public void receiveMessageAndReply() throws Exception {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(
ActiveMQConnectionFactory.DEFAULT_USER,
ActiveMQConnectionFactory.DEFAULT_PASSWORD,
"tcp://127.0.0.1:61616");
activeMQConnectionFactory.setTrustAllPackages(true);
Connection connection = activeMQConnectionFactory.createConnection();
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
connection.start();
Queue queue = session.createQueue("user");
MessageConsumer messageConsumer = session.createConsumer(queue);
messageConsumer.setMessageListener(message -> {
try {
String text = ((TextMessage) message).getText();
System.out.println(text);
Destination jmsReplyTo = message.getJMSReplyTo();
System.out.println(jmsReplyTo);
message.acknowledge();
MessageProducer producer = session.createProducer(jmsReplyTo);
TextMessage textMessage = session.createTextMessage("true");
producer.send(textMessage);
} catch (JMSException e) {
e.printStackTrace();
}
});
}