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
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);
@@ -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);