diff --git a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java index 8d593794ffbb74b8dd2efccc37fdb44e8d19152d..a395dfa3d596a24bfcda8d883ff6d13855e4db75 100644 --- a/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java +++ b/provider/indexer-aws/src/main/java/org/opengroup/osdu/indexer/aws/util/IndexerQueueTaskBuilderAws.java @@ -43,8 +43,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder { private ParameterStorePropertySource ssm; - private String amazonSQSQueueUrl; - + private String storageQueue; + private String dlq; private final String retryString = "retry"; private Gson gson; @@ -54,7 +54,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder { @Value("${aws.storage.sqs.queue.url}") String sqsStorageQueueParameter; - + @Value("${aws.indexer.sqs.dlq.url}") + String deadLetterQueueParameter; @Inject public void init() { @@ -63,7 +64,8 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder { gson =new Gson(); SSMConfig ssmConfig = new SSMConfig(); ssm = ssmConfig.amazonSSM(); - amazonSQSQueueUrl = ssm.getProperty(sqsStorageQueueParameter).toString(); + storageQueue = ssm.getProperty(sqsStorageQueueParameter).toString(); + dlq = ssm.getProperty(deadLetterQueueParameter).toString(); } @Override @@ -119,11 +121,19 @@ public class IndexerQueueTaskBuilderAws extends IndexerQueueTaskBuilder { ); // Send a message with an attribute and a delay - final SendMessageRequest sendMessageRequest = new SendMessageRequest() - .withQueueUrl(amazonSQSQueueUrl) - .withMessageBody(message.getData()) - .withDelaySeconds(new Integer(retryDelay)) - .withMessageAttributes(messageAttributes); + final SendMessageRequest sendMessageRequest ; + if (retryCount< 10) { + + sendMessageRequest = new SendMessageRequest() + .withQueueUrl(storageQueue) + .withMessageBody(message.getData()) + .withDelaySeconds(new Integer(retryDelay)) + .withMessageAttributes(messageAttributes); + }else{ + sendMessageRequest = new SendMessageRequest() + .withQueueUrl(dlq) + .withMessageBody(message.getData()); + } sqsClient.sendMessage(sendMessageRequest); } diff --git a/provider/indexer-aws/src/main/resources/application.properties b/provider/indexer-aws/src/main/resources/application.properties index a340866fbbfcc03a3cdccca0ff34bfdd13665c66..d42824c82a6154f8d27c9366053323857f9e847a 100644 --- a/provider/indexer-aws/src/main/resources/application.properties +++ b/provider/indexer-aws/src/main/resources/application.properties @@ -59,6 +59,7 @@ aws.indexer.sns.topic.arn=${aws.ssm.prefix}/indexer/indexer-sns-topic-arn aws.storage.sns.topic.arn=${aws.ssm.prefix}/storage/storage-sns-topic-arn aws.storage.sqs.queue.url=${aws.ssm.prefix}/storage/storage-sqs-url +aws.indexer.sqs.dlq.url=${aws.ssm.prefix}/indexer-queue/indexer-deadletter-queue-sqs-url server.ssl.enabled=${SSL_ENABLED:true} server.ssl.key-store-type=PKCS12