diff --git a/DependencyInjection/Compiler/SQSQueuePass.php b/DependencyInjection/Compiler/SQSQueuePass.php index bc1ccb2..74e5bd5 100644 --- a/DependencyInjection/Compiler/SQSQueuePass.php +++ b/DependencyInjection/Compiler/SQSQueuePass.php @@ -73,12 +73,13 @@ public function process(ContainerBuilder $container) $queueOption['attributes']['receive_message_wait_time_seconds'] ?? 0, 'VisibilityTimeout' => $queueOption['attributes']['visibility_timeout'] ?? 30, - 'RedrivePolicy' => json_encode([ - 'deadLetterTargetArn' => - $queueOption['attributes']['redrive_policy']['dead_letter_queue'] ?? '', - 'maxReceiveCount' => - $queueOption['attributes']['redrive_policy']['max_receive_count'] ?? 5, - ]) + 'RedrivePolicy' => !empty($queueOption['attributes']['redrive_policy']['dead_letter_queue']) + ? json_encode([ + 'deadLetterTargetArn' => + $queueOption['attributes']['redrive_policy']['dead_letter_queue'] ?? '', + 'maxReceiveCount' => + $queueOption['attributes']['redrive_policy']['max_receive_count'] ?? 5, + ]) : '' ] ]); diff --git a/Service/QueueManager.php b/Service/QueueManager.php index a3a429e..bb6df10 100644 --- a/Service/QueueManager.php +++ b/Service/QueueManager.php @@ -24,7 +24,8 @@ class QueueManager 'MaximumMessageSize' => 262144, // 256 KiB 'MessageRetentionPeriod' => 345600, // 4 days 'ReceiveMessageWaitTimeSeconds' => 0, - 'VisibilityTimeout' => 30 + 'VisibilityTimeout' => 30, + 'RedrivePolicy' => '' ]; /** diff --git a/Tests/Unit/DependencyInjection/Compiler/SQSQueuePassTest.php b/Tests/Unit/DependencyInjection/Compiler/SQSQueuePassTest.php index 954a5d9..54c575d 100644 --- a/Tests/Unit/DependencyInjection/Compiler/SQSQueuePassTest.php +++ b/Tests/Unit/DependencyInjection/Compiler/SQSQueuePassTest.php @@ -109,10 +109,7 @@ public function configurationProvider(): array 'MessageRetentionPeriod' => 345600, 'ReceiveMessageWaitTimeSeconds' => 0, 'VisibilityTimeout' => 30, - 'RedrivePolicy' => json_encode([ - 'deadLetterTargetArn' => '', - 'maxReceiveCount' => 5 - ]) + 'RedrivePolicy' => '' ] ] ] @@ -193,7 +190,7 @@ public function configurationProvider(): array ] ] ], - // Case #2: Load multi queues at the same time + // Case #3: Load multi queues at the same time [ $container, [ @@ -210,10 +207,7 @@ public function configurationProvider(): array 'MessageRetentionPeriod' => 345600, 'ReceiveMessageWaitTimeSeconds' => 0, 'VisibilityTimeout' => 30, - 'RedrivePolicy' => json_encode([ - 'deadLetterTargetArn' => '', - 'maxReceiveCount' => 5 - ]) + 'RedrivePolicy' => '' ] ], 'basic-queue-2' => [ @@ -225,10 +219,7 @@ public function configurationProvider(): array 'MessageRetentionPeriod' => 345600, 'ReceiveMessageWaitTimeSeconds' => 0, 'VisibilityTimeout' => 30, - 'RedrivePolicy' => json_encode([ - 'deadLetterTargetArn' => '', - 'maxReceiveCount' => 5 - ]) + 'RedrivePolicy' => '' ] ] ]