FINERACT-1694-ActiveMQ-failover-transport-support

This commit is contained in:
Ruchi Dhamankar
2022-10-17 12:17:39 +02:00
committed by Arnold Gálovics
parent 3d332f0840
commit 04e07890a4
2 changed files with 11 additions and 2 deletions
@@ -53,14 +53,20 @@ public class SendAsynchronousEventsTasklet implements Tasklet {
@Override @Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) { public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) {
try { try {
List<ExternalEvent> events = getQueuedEventsBatch(); if (isDownstreamChannelEnabled()) {
processEvents(events); List<ExternalEvent> events = getQueuedEventsBatch();
processEvents(events);
}
} catch (Exception e) { } catch (Exception e) {
log.error("Error occurred while processing events: ", e); log.error("Error occurred while processing events: ", e);
} }
return RepeatStatus.FINISHED; return RepeatStatus.FINISHED;
} }
private boolean isDownstreamChannelEnabled() {
return fineractProperties.getEvents().getExternal().getProducer().getJms().isEnabled();
}
private List<ExternalEvent> getQueuedEventsBatch() { private List<ExternalEvent> getQueuedEventsBatch() {
int readBatchSize = getBatchSize(); int readBatchSize = getBatchSize();
Pageable batchSize = PageRequest.ofSize(readBatchSize); Pageable batchSize = PageRequest.ofSize(readBatchSize);
@@ -89,8 +89,11 @@ class SendAsynchronousEventsTaskletTest {
FineractProperties.FineractEventsProperties eventsProperties = new FineractProperties.FineractEventsProperties(); FineractProperties.FineractEventsProperties eventsProperties = new FineractProperties.FineractEventsProperties();
FineractProperties.FineractExternalEventsProperties externalProperties = new FineractProperties.FineractExternalEventsProperties(); FineractProperties.FineractExternalEventsProperties externalProperties = new FineractProperties.FineractExternalEventsProperties();
FineractProperties.FineractExternalEventsProducerProperties externalEventsProducerProperties = new FineractProperties.FineractExternalEventsProducerProperties(); FineractProperties.FineractExternalEventsProducerProperties externalEventsProducerProperties = new FineractProperties.FineractExternalEventsProducerProperties();
FineractProperties.FineractExternalEventsProducerJmsProperties externalEventsProducerJMSProperties = new FineractProperties.FineractExternalEventsProducerJmsProperties();
externalEventsProducerJMSProperties.setEnabled(true);
externalProperties.setEnabled(true); externalProperties.setEnabled(true);
externalEventsProducerProperties.setReadBatchSize(readBatchSize); externalEventsProducerProperties.setReadBatchSize(readBatchSize);
externalEventsProducerProperties.setJms(externalEventsProducerJMSProperties);
externalProperties.setProducer(externalEventsProducerProperties); externalProperties.setProducer(externalEventsProducerProperties);
eventsProperties.setExternal(externalProperties); eventsProperties.setExternal(externalProperties);
when(fineractProperties.getEvents()).thenReturn(eventsProperties); when(fineractProperties.getEvents()).thenReturn(eventsProperties);