我有一个简单的类QueueService,其中包含一些方法,这些方法包含来自AWS SQS SDK for Java的方法.例如:
public ArrayList<Hashtable<String, String>> receiveMessages(String queueURL) {
List<Message> messages = this.sqsClient.receiveMessage(queueURL).getMessages();
ArrayList<Hashtable<String, String>> resultList = new ArrayList<Hashtable<String, String>>();
for(Message message : messages) {
Hashtable<String, String> resultItem = new Hashtable<String, String>();
resultItem.put("MessageId", message.getMessageId());
resultItem.put("ReceiptHandle", message.getReceiptHandle());
resultItem.put("Body", message.getBody());
resultList.add(resultItem);
}
return resultList;
}
Run Code Online (Sandbox Code Playgroud)
我有另一个名为Appa的类,main并创建了一个实例QueueService.
我正在寻找一个"模式"来使mainin App中侦听队列中的新消息.现在我有一个while(true)循环,我调用该receiveMessages方法:
while(true) {
messages = queueService.receiveMessages(queueURL);
for(Hashtable<String, String> message: messages) {
String receiptHandle = message.get("ReceiptHandle");
String messageBody = …Run Code Online (Sandbox Code Playgroud)