FINERACT-1724: Set prefetch message count to 1 for COB

This commit is contained in:
Adam Saghy
2023-04-17 23:43:47 +02:00
parent 748b775051
commit 4aa4e77d7a
@@ -19,6 +19,7 @@
package org.apache.fineract.infrastructure.springbatch.messagehandler;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.ActiveMQPrefetchPolicy;
import org.apache.fineract.infrastructure.core.config.FineractProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -31,12 +32,16 @@ public class JmsBrokerConfiguration {
@Autowired
private FineractProperties fineractProperties;
private static final int PREFETCH_MESSAGE_NUMBER = 1;
@Bean
public ActiveMQConnectionFactory connectionFactory() {
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
connectionFactory.setBrokerURL(fineractProperties.getRemoteJobMessageHandler().getJms().getBrokerUrl());
connectionFactory.setTrustAllPackages(true);
ActiveMQPrefetchPolicy activeMQPrefetchPolicy = new ActiveMQPrefetchPolicy();
activeMQPrefetchPolicy.setAll(PREFETCH_MESSAGE_NUMBER);
connectionFactory.setPrefetchPolicy(activeMQPrefetchPolicy);
FineractProperties.FineractRemoteJobMessageHandlerJmsProperties jmsProps = fineractProperties.getRemoteJobMessageHandler().getJms();
if (jmsProps.isBrokerPasswordProtected()) {
connectionFactory.setUserName(jmsProps.getBrokerUsername());