Python boto を使用して要素を送信する SQS キューを使用しています。Java から受信しようとすると、同じ本体ではなく別のものを取得します。
これは私のJavaです:
CreateQueueRequest createQueueRequest = new CreateQueueRequest().withQueueName("random_queue");
String queueUrl = sqsClient.createQueue(createQueueRequest).getQueueUrl();
ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest(queueUrl).withWaitTimeSeconds(20);
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).getMessages();
System.out.println(messages.toString());
for (Message message : messages) {
String element = message.getBody();
System.out.println(" [x] Received '" + element + "'");
}
出力:[x] Received 'ZGY1YzNiODYtNTM4Ny00NzVmLThkMGEtMDc4MzkxM2M2YWY5'
Python コード:
my_queue = conn.create_queue('random_queue', 900)
m = my_queue.read()
body= m.get_body()
print body
output : df5c3b86-5387-475f-8d0a-0783913c6af9
(これはキューで送信した実際のメッセージです)
Java が Python に異なるメッセージを返すのはなぜですか?