Amazon SQS 开发人员指南的有关将 JMS 与 Amazon SQS结合使用的部分中有一个代码示例,它显示了如何使用 JMS 异步接收消息。
首先你实现 MessageListener 接口:
class MyListener implements MessageListener {
@Override
public void onMessage(Message message) {
try {
// Cast the received message as TextMessage and print the text to screen.
if (message != null) {
System.out.println("Received: " + ((TextMessage) message).getText());
}
} catch (JMSException e) {
e.printStackTrace();
}
}
}
然后将其设置为 MessageConsumer 的 MessageListener:
// Create a consumer for the 'TestQueue'.
MessageConsumer consumer = session.createConsumer(queue);
// Instantiate and set the message listener for the consumer.
consumer.setMessageListener(new MyListener());
// Start receiving incoming messages.
connection.start();
// Wait for 1 second. The listener onMessage() method will be invoked when a message is received.
Thread.sleep(1000);