Spring Boot 2.0 Applications (Reactive MongoDB) 在启动时挂起
Sprint Boot 2.0 Applications (Reactive MongoDB) hangs up on startup
我是 Spring 反应式数据 MongoDB 的新手,我的 generator 遇到了问题。两种设置方法都不会 return。第一个是
@PostConstruct
public void setup() {
personRepository.deleteAll().block();
LOG.info("Never happens");
}
deleteAll() 调用将无限期阻塞。我在执行这个时遇到了同样的问题
@PostConstruct
public void setup2() {
List<Person> personList = new LinkedList<>();
for (int i = 0; i < 200; i++) {
personList.add(Person.PersonBuilder.aPerson().uuid(UUID.randomUUID()).name("Name " + i).build());
}
personRepository.saveAll(personList).blockLast();
}
使用 block() 或 blockLast() 时,似乎存储库不会关闭连接。在 saveAll() 的情况下,许多连接打开但没有关闭。
编辑:我知道这并不是真正的反应式,但我不想在这个 class 中链接所有内容。万一这行不通,我很高兴看到您的建议。正如我所说,我对这个话题还很陌生。
进一步查看后,我发现 this post。
然后我想到提供一个 CommandLineRunner Bean 并在其中插入数据。现在一切都按预期工作。我也更新了 the repository.
我是 Spring 反应式数据 MongoDB 的新手,我的 generator 遇到了问题。两种设置方法都不会 return。第一个是
@PostConstruct
public void setup() {
personRepository.deleteAll().block();
LOG.info("Never happens");
}
deleteAll() 调用将无限期阻塞。我在执行这个时遇到了同样的问题
@PostConstruct
public void setup2() {
List<Person> personList = new LinkedList<>();
for (int i = 0; i < 200; i++) {
personList.add(Person.PersonBuilder.aPerson().uuid(UUID.randomUUID()).name("Name " + i).build());
}
personRepository.saveAll(personList).blockLast();
}
使用 block() 或 blockLast() 时,似乎存储库不会关闭连接。在 saveAll() 的情况下,许多连接打开但没有关闭。
编辑:我知道这并不是真正的反应式,但我不想在这个 class 中链接所有内容。万一这行不通,我很高兴看到您的建议。正如我所说,我对这个话题还很陌生。
进一步查看后,我发现 this post。
然后我想到提供一个 CommandLineRunner Bean 并在其中插入数据。现在一切都按预期工作。我也更新了 the repository.