in src/main/java/software/amazon/sqs/sample/ReceiveMessage_AWSXRay_Tracing.java [22:73]
public static void main(String[] args) {
// TODO: update the value of queueUrl with the URL of standard queue you create
// in your AWS account
String queueUrl = "https://sqs.us-east-1.amazonaws.com/1234567890/sqs_queue_demo";
SqsClient sqsClient = SqsClient.builder().region(Region.US_EAST_1).build();
try {
Collection<QueueAttributeName> attributeNames = new ArrayList<QueueAttributeName>();
attributeNames.add(QueueAttributeName.ALL);
Collection<String> messageAttributeNames = new ArrayList<String>();
messageAttributeNames.add("All");
messageAttributeNames.add(QueueAttributeName.ALL.toString());
messageAttributeNames.add("message_attribute_string_type");
messageAttributeNames.add("message_attribute_number_type");
messageAttributeNames.add("message_attribute_binary_type");
ReceiveMessageRequest receiveMessageRequest = ReceiveMessageRequest.builder().queueUrl(queueUrl)
.maxNumberOfMessages(10).attributeNames(attributeNames).messageAttributeNames(messageAttributeNames)
.build();
List<Message> messages = sqsClient.receiveMessage(receiveMessageRequest).messages();
System.out.println("Size: " + messages.size());
for (Message message : messages) {
System.out.println();
System.out.println("Message body: " + message.body());
System.out.println("Message has system attributes: " + message.hasAttributes());
System.out.println("Message has user attributes: " + message.hasMessageAttributes());
System.out.println("\nFetchig Message System Attributes");
// Fetch Message System Attributes
Map<MessageSystemAttributeName, String> attributes = message.attributes();
for (Map.Entry<MessageSystemAttributeName, String> entry : attributes.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
System.out.println("\nFetchig Message Attributes");
// Fetch Message Attributes
Map<String, MessageAttributeValue> messageAttributes = message.messageAttributes();
for (Map.Entry<String, MessageAttributeValue> entry : messageAttributes.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
} catch (SqsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}