插入新数据时调用服务



我有一个调度器,用于检查DB表中的新数据:

@Service
public class ReloadCache {
@Scheduled(fixedDelay = 1000)
public void reload() {
...... do something 
}
}

@Service
public class LogicalClient {
final Map<String, Map<String, String>> map;

@PostConstruct
public void initializeBalances() {
............ map = new HashMap.......
}

@KafkaListener(......")
public void handle(....) {
.......read map here
}
}

请注意,这两个服务位于不同的Java类和包中。

当调度运行并检测到更改时,我如何再次调用用@PostConstruct注释的Java方法initializeBalances,以便再次生成映射结构?

ReloadCache类中注入LogicalClient,并像这样调用该函数:

@Service
public class ReloadCache {
private final LogicalClient logicalClient;
public ReloadCache(LogicalClient client) // Injection through constructor.
{
this.logicalClient = client;
}
@Scheduled(fixedDelay = 1000)
public void reload() {
...... do something
client.initializeBalances()
}
}

您的两个类都用@Service进行了注释。因此,它们都是Spring bean,可以在任何合适的地方注入(只要接收类本身是bean(。

最新更新