This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 04e07890a FINERACT-1694-ActiveMQ-failover-transport-support
04e07890a is described below

commit 04e07890a4e371dabbb095714727b410103880a7
Author: Ruchi Dhamankar <[email protected]>
AuthorDate: Fri Oct 14 14:51:34 2022 +0530

    FINERACT-1694-ActiveMQ-failover-transport-support
---
 .../event/external/jobs/SendAsynchronousEventsTasklet.java     | 10 ++++++++--
 .../event/external/jobs/SendAsynchronousEventsTaskletTest.java |  3 +++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTasklet.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTasklet.java
index 1dfe90157..30492db6c 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTasklet.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTasklet.java
@@ -53,14 +53,20 @@ public class SendAsynchronousEventsTasklet implements 
Tasklet {
     @Override
     public RepeatStatus execute(StepContribution contribution, ChunkContext 
chunkContext) {
         try {
-            List<ExternalEvent> events = getQueuedEventsBatch();
-            processEvents(events);
+            if (isDownstreamChannelEnabled()) {
+                List<ExternalEvent> events = getQueuedEventsBatch();
+                processEvents(events);
+            }
         } catch (Exception e) {
             log.error("Error occurred while processing events: ", e);
         }
         return RepeatStatus.FINISHED;
     }
 
+    private boolean isDownstreamChannelEnabled() {
+        return 
fineractProperties.getEvents().getExternal().getProducer().getJms().isEnabled();
+    }
+
     private List<ExternalEvent> getQueuedEventsBatch() {
         int readBatchSize = getBatchSize();
         Pageable batchSize = PageRequest.ofSize(readBatchSize);
diff --git 
a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTaskletTest.java
 
b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTaskletTest.java
index 7f15b9c2d..3db6b3497 100644
--- 
a/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTaskletTest.java
+++ 
b/fineract-provider/src/test/java/org/apache/fineract/infrastructure/event/external/jobs/SendAsynchronousEventsTaskletTest.java
@@ -89,8 +89,11 @@ class SendAsynchronousEventsTaskletTest {
         FineractProperties.FineractEventsProperties eventsProperties = new 
FineractProperties.FineractEventsProperties();
         FineractProperties.FineractExternalEventsProperties externalProperties 
= new FineractProperties.FineractExternalEventsProperties();
         FineractProperties.FineractExternalEventsProducerProperties 
externalEventsProducerProperties = new 
FineractProperties.FineractExternalEventsProducerProperties();
+        FineractProperties.FineractExternalEventsProducerJmsProperties 
externalEventsProducerJMSProperties = new 
FineractProperties.FineractExternalEventsProducerJmsProperties();
+        externalEventsProducerJMSProperties.setEnabled(true);
         externalProperties.setEnabled(true);
         externalEventsProducerProperties.setReadBatchSize(readBatchSize);
+        
externalEventsProducerProperties.setJms(externalEventsProducerJMSProperties);
         externalProperties.setProducer(externalEventsProducerProperties);
         eventsProperties.setExternal(externalProperties);
         when(fineractProperties.getEvents()).thenReturn(eventsProperties);

Reply via email to