gpt4 book ai didi

Java、Postgres、Redis : PostConstruct not completely working?

转载 作者:行者123 更新时间:2023-12-01 19:33:47 26 4
gpt4 key购买 nike

我想从 Postgres 表填充 Redis,并有一个可行的方法。我希望此方法在应用程序启动时运行。但是,当我尝试使用 @PostConstruct 时,它似乎运行了该方法但没有成功。我正在使用 R2DBC 与 Postgres 连接。

我已经通过创建调用此方法的端点对此进行了测试。启动后,我将看到打印的“test”消息,这意味着该方法已执行。但是,Redis 尚未填充。但是当我到达端点时,我看到“测试”消息并且 Redis 已填充。到底是什么?

@PostConstruct
public Mono<List<Boolean>> writeRedisFromPostgres() {
locationRepository.flushAll();
System.out.println("test");
return locationPostgresRepository.findAll().flatMap(
location -> locationRepository.writeLocation(location)
).collectList();
}

看起来 locationPostgresRepository.findAll() 仅在启动时返回空。我在上面的方法以及我的 PostgresConfiguration 类中放置了断点,并且首先执行配置类...

@Configuration
class PostgresConfig extends AbstractR2dbcConfiguration {

@Value("${postgres.host}")
private String host;

@Value("${postgres.port}")
private Integer port;

@Value("${postgres.username}")
private String username;

@Value("${postgres.password}")
private String password;

@Value("${postgres.database}")
private String database;

@Override
@Bean
public ConnectionFactory connectionFactory() {
return new PostgresqlConnectionFactory(
PostgresqlConnectionConfiguration.builder()
.host(host)
.port(port)
.username(username)
.password(password)
.database(database)
.build()
);
}
}

最佳答案

关于Java、Postgres、Redis : PostConstruct not completely working?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58827270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com