SUPPORT-9115: Fix

This commit is contained in:
Eduard Tihomirov 2025-04-18 10:27:47 +03:00
parent 9d52630d44
commit a05422dc94
2 changed files with 29 additions and 14 deletions

View file

@ -0,0 +1,27 @@
package ru.micord.ervu.account_applications.kafka;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.DependsOn;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.stereotype.Component;
/**
* @author Eduard Tihomirov
*/
@Component
@DependsOn("ervuDirectoriesListener")
public class KafkaConsumerInitializer {
@Value("${kafka.domain.group.id}")
private String domainGroupId;
@Value("${kafka.role.group.id}")
private String roleGroupId;
public KafkaConsumerInitializer(KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry) {
MessageListenerContainer listenerContainerDomain = kafkaListenerEndpointRegistry.getListenerContainer(domainGroupId);
MessageListenerContainer listenerContainerRole = kafkaListenerEndpointRegistry.getListenerContainer(roleGroupId);
listenerContainerDomain.start();
listenerContainerRole.start();
}
}

View file

@ -4,36 +4,24 @@ import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Service;
/**
* @author Eduard Tihomirov
*/
@Service
@DependsOn("kafkaConsumerInitializer")
public class ErvuDirectoriesUpdateService {
@Autowired
private ErvuDirectoriesService ervuDirectoriesService;
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
@Value("${load.directories:true}")
private Boolean loadDirectories;
@Value("${kafka.domain.group.id}")
private String domainGroupId;
@Value("${kafka.role.group.id}")
private String roleGroupId;
@PostConstruct
public void init() {
MessageListenerContainer listenerContainerDomain = kafkaListenerEndpointRegistry.getListenerContainer(domainGroupId);
MessageListenerContainer listenerContainerRole = kafkaListenerEndpointRegistry.getListenerContainer(roleGroupId);
listenerContainerDomain.start();
listenerContainerRole.start();
if (loadDirectories) {
new Thread(this::run).start();
}