I am trying to put temporary queues in place for bi-directional send and receive scenario where the producer is implemented using your library and the consumer is written manually in NodeJS since my lambda is based on JS.
Unfortunately though I have lots of problems with looping events like "Checking all queues begining with prefix" which seems to generate messages in the temporary queue which is really bad assuming it all costs money !
2020-02-18 16:32:10.650 DEBUG 18099 --- [nsumer-Thread-1] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.650 DEBUG 18099 --- [onPool-worker-5] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.651 DEBUG 18099 --- [nsumer-Thread-1] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.651 DEBUG 18099 --- [onPool-worker-5] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.651 DEBUG 18099 --- [nsumer-Thread-1] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__cf226b82-ab67-4da2-9ac7-f3c372fe4baa,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.651 DEBUG 18099 --- [onPool-worker-5] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__66bb67da-1e84-43f8-a1a8-c3c1852dd6e5,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.651 DEBUG 18099 --- [nsumer-Thread-1] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: 3058cbdc6583f41873b1d3e14350f9a4
2020-02-18 16:32:10.651 DEBUG 18099 --- [onPool-worker-5] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: ccfa3e7753bb2b5e774a2b621bee72c4
2020-02-18 16:32:10.661 DEBUG 18099 --- [onPool-worker-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.661 DEBUG 18099 --- [onPool-worker-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.661 DEBUG 18099 --- [onPool-worker-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__931460ec-acfa-4cbd-95e4-faf482095a97,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.661 DEBUG 18099 --- [onPool-worker-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: c1cb0df2c89955f9454b08d1b9258f38
2020-02-18 16:32:10.693 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.693 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.693 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__cf226b82-ab67-4da2-9ac7-f3c372fe4baa,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: 3058cbdc6583f41873b1d3e14350f9a4
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__66bb67da-1e84-43f8-a1a8-c3c1852dd6e5,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: ccfa3e7753bb2b5e774a2b621bee72c4
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message body: .rO0ABXA=
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message body: 98e4c00964e43fd75ad2e2fa2f190887
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Message attribtues: {__AmazonSQSVirtualQueuesClient.QueueName={StringValue: __RequesterClientQueues__931460ec-acfa-4cbd-95e4-faf482095a97,StringListValues: [],BinaryListValues: [],DataType: String}}
2020-02-18 16:32:10.694 DEBUG 18099 --- [nsumer-Thread-3] c.a.s.sqs.MessageMD5ChecksumHandler : Expected MD5 of message attributes: c1cb0df2c89955f9454b08d1b9258f38
2020-02-18 16:32:10.699 DEBUG 18099 --- [nsumer-Thread-7] c.a.s.sqs.AmazonSQSVirtualQueuesClient : Deleting Virtual Queue is 4 and Queue Name is https://sqs.eu-west-1.amazonaws.com/122333224379/__RequesterClientQueues__8e0145ad-8f87-4c15-8d55-733a96f950b2-0#__RequesterClientQueues__cf226b82-ab67-4da2-9ac7-f3c372fe4baa
2020-02-18 16:32:10.699 DEBUG 18099 --- [nsumer-Thread-5] c.a.s.sqs.AmazonSQSVirtualQueuesClient : Deleting Virtual Queue is 4 and Queue Name is https://sqs.eu-west-1.amazonaws.com/122333224379/__RequesterClientQueues__8e0145ad-8f87-4c15-8d55-733a96f950b2-0#__RequesterClientQueues__931460ec-acfa-4cbd-95e4-faf482095a97
2020-02-18 16:32:10.699 DEBUG 18099 --- [nsumer-Thread-8] c.a.s.sqs.AmazonSQSVirtualQueuesClient : Deleting Virtual Queue is 4 and Queue Name is https://sqs.eu-west-1.amazonaws.com/122333224379/__RequesterClientQueues__8e0145ad-8f87-4c15-8d55-733a96f950b2-0#__RequesterClientQueues__66bb67da-1e84-43f8-a1a8-c3c1852dd6e5
... skipped hundreds of more ...
try {
com.amazonaws.services.sqs.model.SendMessageRequest request = new com.amazonaws.services.sqs.model.SendMessageRequest()
.withMessageBody(objectMapper.writeValueAsString(domainEvent))
.withQueueUrl(topic.getTopicURL());
Message message = sqsRequester.sendMessageAndGetResponse(request, 20, TimeUnit.SECONDS);
result.complete(objectMapper.readValue(message.getBody(), responseType));
} catch (JsonProcessingException | TimeoutException e) {
log.error("An error has occurred publishing domain event to SQS: {}", domainEvent, e);
}
function sendSuccess(callback, response, queueUrl) {
let params = {
MessageBody: JSON.stringify(response),
QueueUrl: queueUrl,
MessageAttributes: {
"__AmazonSQSVirtualQueuesClient.QueueName": {
DataType: 'String',
StringValue: queueUrl.split('#')[1]
}
}
};
sqs.sendMessage(params, function(sqsErr) {
if(sqsErr) {
console.log(`Problem answering to SQS event`, sqsErr);
callback(sqsErr, response);
} else {
callback(null, response);
}
});
}
Please advise.
Best Regards
Alexander KIRILOV