插入新数据时调用服务
Call service when new data is inserted
我有这个调度程序,用于将新数据检查到数据库中 table:
@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 类 和包中。
当计划运行并检测到更改时,我如何才能再次调用 Java 方法 initializeBalances
用 @PostConstruct
注释以便再次生成映射结构?
将你的 LogicalClient
注入你的 ReloadCache
class 并像这样调用该函数:
@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()
}
}
您的两个 class 都带有 @Service
注释。所以它们都是 Spring bean,可以在任何你认为合适的地方注入(只要接收 class 本身就是一个 bean)。
我有这个调度程序,用于将新数据检查到数据库中 table:
@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 类 和包中。
当计划运行并检测到更改时,我如何才能再次调用 Java 方法 initializeBalances
用 @PostConstruct
注释以便再次生成映射结构?
将你的 LogicalClient
注入你的 ReloadCache
class 并像这样调用该函数:
@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()
}
}
您的两个 class 都带有 @Service
注释。所以它们都是 Spring bean,可以在任何你认为合适的地方注入(只要接收 class 本身就是一个 bean)。