SUPPORT-9115: Fix

This commit is contained in:
Eduard Tihomirov 2025-04-18 16:12:30 +03:00
parent 9a3e6565cc
commit 1580b65fc2
3 changed files with 9 additions and 35 deletions

View file

@ -5,6 +5,7 @@ import org.springframework.context.annotation.DependsOn;
import org.springframework.kafka.config.KafkaListenerEndpointRegistry; import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
import org.springframework.kafka.listener.MessageListenerContainer; import org.springframework.kafka.listener.MessageListenerContainer;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import ru.micord.ervu.account_applications.service.ErvuDirectoriesService;
/** /**
* @author Eduard Tihomirov * @author Eduard Tihomirov
@ -18,10 +19,16 @@ public class KafkaConsumerInitializer {
@Value("${kafka.role.group.id}") @Value("${kafka.role.group.id}")
private String roleGroupId; private String roleGroupId;
public KafkaConsumerInitializer(KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry) { @Value("${load.directories:true}")
private Boolean loadDirectories;
public KafkaConsumerInitializer(KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry, ErvuDirectoriesService ervuDirectoriesService) {
MessageListenerContainer listenerContainerDomain = kafkaListenerEndpointRegistry.getListenerContainer(domainGroupId); MessageListenerContainer listenerContainerDomain = kafkaListenerEndpointRegistry.getListenerContainer(domainGroupId);
MessageListenerContainer listenerContainerRole = kafkaListenerEndpointRegistry.getListenerContainer(roleGroupId); MessageListenerContainer listenerContainerRole = kafkaListenerEndpointRegistry.getListenerContainer(roleGroupId);
listenerContainerDomain.start(); listenerContainerDomain.start();
listenerContainerRole.start(); listenerContainerRole.start();
if (loadDirectories) {
new Thread(ervuDirectoriesService::updateDirectories).start();
}
} }
} }

View file

@ -34,7 +34,7 @@ import ru.micord.ervu.account_applications.model.RoleResponse;
* @author Eduard Tihomirov * @author Eduard Tihomirov
*/ */
@Service @Service
@DependsOn({"liquibase", "ervuDirectoriesListener"}) @DependsOn("liquibase")
public class ErvuDirectoriesService { public class ErvuDirectoriesService {
private static final Logger LOGGER = LoggerFactory.getLogger( private static final Logger LOGGER = LoggerFactory.getLogger(
MethodHandles.lookup().lookupClass()); MethodHandles.lookup().lookupClass());

View file

@ -1,33 +0,0 @@
package ru.micord.ervu.account_applications.service;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Service;
/**
* @author Eduard Tihomirov
*/
@Service
@DependsOn("kafkaConsumerInitializer")
public class ErvuDirectoriesUpdateService {
@Autowired
private ErvuDirectoriesService ervuDirectoriesService;
@Value("${load.directories:true}")
private Boolean loadDirectories;
@PostConstruct
public void init() {
if (loadDirectories) {
new Thread(this::run).start();
}
}
private void run() {
ervuDirectoriesService.updateDirectories();
}
}