diff --git a/README.md b/README.md index ef32f4c0..23a974f3 100644 --- a/README.md +++ b/README.md @@ -117,10 +117,10 @@ public class MessageListener { log.info("Notification message: {}", notification); } - // asynchronously send otp to the user - @RqueueListener(value = "otp", priority="critical=10,high=8,medium=4,low=1") - public void onMessage(Otp otp) { - log.info("Otp message: {}", otp); + // asynchronously send sms to the user + @RqueueListener(value = "sms", priority="critical=10,high=8,medium=4,low=1") + public void onMessage(Sms sms) { + log.info("Sms message: {}", sms); } } ``` diff --git a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/MessageListener.java b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/MessageListener.java index aa830885..046869a1 100644 --- a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/MessageListener.java +++ b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/MessageListener.java @@ -22,7 +22,7 @@ import com.github.sonus21.rqueue.test.dto.FeedGeneration; import com.github.sonus21.rqueue.test.dto.Job; import com.github.sonus21.rqueue.test.dto.Notification; -import com.github.sonus21.rqueue.test.dto.Otp; +import com.github.sonus21.rqueue.test.dto.Sms; import com.github.sonus21.rqueue.test.dto.Reservation; import com.github.sonus21.rqueue.test.service.ConsumedMessageService; import com.github.sonus21.rqueue.test.service.FailureManager; @@ -77,17 +77,17 @@ public void onMessage(Email email) throws Exception { } @RqueueListener( - value = "${otp.queue}", - active = "${otp.queue.active}", - priority = "${otp.queue.priority}", - priorityGroup = "${otp.queue.group}", - concurrency = "${otp.queue.concurrency}") - public void onMessage(Otp otp) throws Exception { - log.info("OtpListener: {}", otp); - if (failureManager.shouldFail(otp.getId())) { - throw new Exception("Failing otp task to be retried" + otp); + value = "${sms.queue}", + active = "${sms.queue.active}", + priority = "${sms.queue.priority}", + priorityGroup = "${sms.queue.group}", + concurrency = "${sms.queue.concurrency}") + public void onMessage(Sms sms) throws Exception { + log.info("SmsListener: {}", sms); + if (failureManager.shouldFail(sms.getId())) { + throw new Exception("Failing sms task to be retried" + sms); } - consumedMessageService.save(otp); + consumedMessageService.save(sms); } @RqueueListener( diff --git a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Otp.java b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Sms.java similarity index 75% rename from rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Otp.java rename to rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Sms.java index 9befce0b..4b75d60f 100644 --- a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Otp.java +++ b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/dto/Sms.java @@ -16,7 +16,6 @@ package com.github.sonus21.rqueue.test.dto; -import java.util.Random; import java.util.UUID; import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; @@ -32,16 +31,14 @@ @Setter @ToString @EqualsAndHashCode(callSuper = true) -public class Otp extends BaseQueueMessage { +public class Sms extends BaseQueueMessage { private String phoneNumber; - private String otp; + private String sms; - public static Otp newInstance() { - Otp otp = - new Otp( - "+91" + RandomStringUtils.randomNumeric(10), - String.valueOf(new Random().nextInt(100000))); - otp.setId(UUID.randomUUID().toString()); - return otp; + public static Sms newInstance() { + String txt = "Dear , Version 2.0 of Rqueue is released."; + Sms sms = new Sms("+91" + RandomStringUtils.randomNumeric(10), txt); + sms.setId(UUID.randomUUID().toString()); + return sms; } } diff --git a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/AllQueueMode.java b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/AllQueueMode.java index ff56a0a5..d7aa8538 100644 --- a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/AllQueueMode.java +++ b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/AllQueueMode.java @@ -21,7 +21,7 @@ import com.github.sonus21.rqueue.test.dto.Email; import com.github.sonus21.rqueue.test.dto.FeedGeneration; import com.github.sonus21.rqueue.test.dto.Job; -import com.github.sonus21.rqueue.test.dto.Otp; +import com.github.sonus21.rqueue.test.dto.Sms; import com.github.sonus21.rqueue.test.dto.Reservation; import com.github.sonus21.rqueue.utils.Constants; import com.github.sonus21.rqueue.utils.TimeoutUtils; @@ -41,20 +41,20 @@ protected void checkGroupConsumer() throws TimedOutException { } protected void checkQueueLevelConsumer() throws TimedOutException { - rqueueMessageSender.enqueue(otpQueue, Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "critical", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "high", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "medium", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "low", Otp.newInstance()); + rqueueMessageSender.enqueue(smsQueue, Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "critical", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "high", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "medium", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "low", Sms.newInstance()); TimeoutUtils.waitFor( () -> getMessageCount( Arrays.asList( - otpQueue, - otpQueue + "_critical", - otpQueue + "_high", - otpQueue + "_medium", - otpQueue + "_low")) + smsQueue, + smsQueue + "_critical", + smsQueue + "_high", + smsQueue + "_medium", + smsQueue + "_low")) == 0, 20 * Constants.ONE_MILLI, "multi level queues to drain"); diff --git a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/MultiLevelQueueListenerTestBase.java b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/MultiLevelQueueListenerTestBase.java index 4028dd41..6df59042 100644 --- a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/MultiLevelQueueListenerTestBase.java +++ b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/MultiLevelQueueListenerTestBase.java @@ -17,26 +17,26 @@ package com.github.sonus21.rqueue.test.tests; import com.github.sonus21.rqueue.exception.TimedOutException; -import com.github.sonus21.rqueue.test.dto.Otp; +import com.github.sonus21.rqueue.test.dto.Sms; import com.github.sonus21.rqueue.utils.TimeoutUtils; import java.util.Arrays; public abstract class MultiLevelQueueListenerTestBase extends SpringTestBase { protected void checkQueueLevelConsumer() throws TimedOutException { - rqueueMessageSender.enqueue(otpQueue, Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "critical", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "high", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "medium", Otp.newInstance()); - rqueueMessageSender.enqueueWithPriority(otpQueue, "low", Otp.newInstance()); + rqueueMessageSender.enqueue(smsQueue, Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "critical", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "high", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "medium", Sms.newInstance()); + rqueueMessageSender.enqueueWithPriority(smsQueue, "low", Sms.newInstance()); TimeoutUtils.waitFor( () -> getMessageCount( Arrays.asList( - otpQueue, - otpQueue + "_critical", - otpQueue + "_high", - otpQueue + "_medium", - otpQueue + "_low")) + smsQueue, + smsQueue + "_critical", + smsQueue + "_high", + smsQueue + "_medium", + smsQueue + "_low")) == 0, "Waiting for multi level queues to drain"); } diff --git a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/SpringTestBase.java b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/SpringTestBase.java index 3e7d9196..ebcbec33 100644 --- a/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/SpringTestBase.java +++ b/rqueue-common-test/src/main/java/com/github/sonus21/rqueue/test/tests/SpringTestBase.java @@ -67,8 +67,8 @@ public abstract class SpringTestBase { @Value("${notification.queue.retry.count}") protected int notificationRetryCount; - @Value("${otp.queue}") - protected String otpQueue; + @Value("${sms.queue}") + protected String smsQueue; @Value("${feed.generation.queue}") protected String feedGenerationQueue; diff --git a/rqueue-common-test/src/main/resources/application.properties b/rqueue-common-test/src/main/resources/application.properties index ccd0ed62..6e47f991 100644 --- a/rqueue-common-test/src/main/resources/application.properties +++ b/rqueue-common-test/src/main/resources/application.properties @@ -13,11 +13,11 @@ email.queue.active=true mysql.db.name=test rqueue.metrics.tags.rqueue=test email.execution.time=15*60*1000 -otp.queue=otp -otp.queue.active=false -otp.queue.group= -otp.queue.priority=critical:10, high:6, medium:4, low:2 -otp.queue.concurrency=-1 +sms.queue=sms +sms.queue.active=false +sms.queue.group= +sms.queue.priority=critical:10, high:6, medium:4, low:2 +sms.queue.concurrency=-1 chat.indexing.queue=chat-indexing chat.indexing.queue.active=false chat.indexing.queue.priority=30 diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/SpringAppTest.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/SpringAppTest.java index 0a3a2b61..a6f8691c 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/SpringAppTest.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/SpringAppTest.java @@ -47,7 +47,7 @@ properties = { "spring.redis.port=7004", "mysql.db.name=SpringAppTest", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=true", "job.queue.active=true", @@ -71,7 +71,7 @@ public void numActiveQueues() { assertTrue(registeredQueue.containsKey(jobQueue)); assertTrue(registeredQueue.containsKey(feedGenerationQueue)); assertTrue(registeredQueue.containsKey(reservationQueue)); - assertTrue(registeredQueue.containsKey(otpQueue)); + assertTrue(registeredQueue.containsKey(smsQueue)); } @Test diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousConcurrencyBasedQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousConcurrencyBasedQueueListener.java index f8e40de6..d6a20876 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousConcurrencyBasedQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousConcurrencyBasedQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7013", "mysql.db.name=StrictHeterogeneousConcurrencyBasedQueueListener", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=true", "job.queue.active=true", @@ -43,7 +43,7 @@ "reservation.queue.active=true", "feed.generation.queue.active=true", "chat.indexing.queue.active=true", - "otp.queue.concurrency=5", + "sms.queue.concurrency=5", "reservation.queue.concurrency=2", "feed.generation.queue.concurrency=1-5", "chat.indexing.queue.concurrency=3-5", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousQueueListener.java index 14679b0c..27218366 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictHeterogeneousQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7011", "mysql.db.name=StrictHeterogeneousQueueListener", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=true", "job.queue.active=true", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictMultiLevelQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictMultiLevelQueueListener.java index 4dc093e8..f454c0e5 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictMultiLevelQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictMultiLevelQueueListener.java @@ -36,7 +36,7 @@ "spring.redis.port=7007", "mysql.db.name=StrictMultiLevelQueueListener", "max.workers.count=10", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=false", "job.queue.active=false", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictPriorityQueueListenerTest.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictPriorityQueueListenerTest.java index 803311b8..6e6942a5 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictPriorityQueueListenerTest.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/StrictPriorityQueueListenerTest.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7009", "mysql.db.name=StrictPriorityQueueListenerTest", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=false", "job.queue.active=false", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousConcurrencyBasedQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousConcurrencyBasedQueueListener.java index 137c2791..617384f8 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousConcurrencyBasedQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousConcurrencyBasedQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7014", "mysql.db.name=WeightedHeterogeneousConcurrencyBasedQueueListener", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=true", "job.queue.active=true", @@ -43,7 +43,7 @@ "reservation.queue.active=true", "feed.generation.queue.active=true", "chat.indexing.queue.active=true", - "otp.queue.concurrency=5", + "sms.queue.concurrency=5", "reservation.queue.concurrency=2", "feed.generation.queue.concurrency=1-5", "chat.indexing.queue.concurrency=3-5" diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousQueueListener.java index d0eef92d..9c9dae37 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedHeterogeneousQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7012", "mysql.db.name=WeightedHeterogeneousQueueListener", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=true", "job.queue.active=true", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedMultiLevelQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedMultiLevelQueueListener.java index 928782f2..44fb9eef 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedMultiLevelQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedMultiLevelQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7006", "mysql.db.name=WeightedMultiLevelQueueListener", - "otp.queue.active=true", + "sms.queue.active=true", "notification.queue.active=false", "email.queue.active=false", "job.queue.active=false", diff --git a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedPriorityQueueListener.java b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedPriorityQueueListener.java index d316f236..7d930fe5 100644 --- a/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedPriorityQueueListener.java +++ b/rqueue-spring/src/test/java/com/github/sonus21/rqueue/spring/tests/integration/WeightedPriorityQueueListener.java @@ -35,7 +35,7 @@ properties = { "spring.redis.port=7010", "mysql.db.name=WeightedPriorityQueueListener", - "otp.queue.active=false", + "sms.queue.active=false", "notification.queue.active=false", "email.queue.active=false", "job.queue.active=false",