in src/main/java/software/amazon/sqs/sample/SendMessageWithAttributes_AWSXRay_Tracing.java [23:48]
public static void main(String[] args) {
AWSXRay.beginSegment("Sqs-2");
// 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)
.overrideConfiguration(
ClientOverrideConfiguration.builder().addExecutionInterceptor(new TracingInterceptor()).build())
.build();
Map<String, MessageAttributeValue> messageAttributes = new HashMap<String, MessageAttributeValue>();
messageAttributes.put("message_attribute_string_type",
MessageAttributeValue.builder().dataType("String").stringValue("string_value").build());
messageAttributes.put("message_attribute_number_type",
MessageAttributeValue.builder().dataType("Number").stringValue("123").build());
SdkBytes binaryValue = SdkBytes.fromString("my_binary_value", Charset.defaultCharset());
messageAttributes.put("message_attribute_binary_type",
MessageAttributeValue.builder().dataType("Binary").binaryValue(binaryValue).build());
SendMessageResponse sendMessageResponse = null;
for (int i = 10; i < 20; i++) {
sendMessageResponse = sqsClient.sendMessage(SendMessageRequest.builder().queueUrl(queueUrl)
.messageBody("SQS Message - " + i).messageAttributes(messageAttributes).delaySeconds(1).build());
System.out.println("Message Id: " + sendMessageResponse.messageId());
}
AWSXRay.endSegment();
}