ReactiveCrudRespository永远不会从SaveAll返回
在启动时,我检查一些数据,如果不存在尝试保存一些默认值(暂时用于测试)。
val subs = repo.findAll().toIterable() if(subs.none()) { repo.saveAll(defaults.map { Source(it.link.hashCode().toLong(), it::class.java.canonicalName, arrayOf(it.link)) }).blockLast() }
在第一次运行时,我们将达到saveAll(),但从不解锁。 数据保存在MongoDB中,我可以用Robo 3t来确认。
随后运行的数据实际存在将导致第一次findAll从不解锁。
在MongoDB中的分析似乎显示出一个成功的查询。
findAll()查询的配置文件
我的资源库和实体如下:
interface SourceRepository : ReactiveCrudRepository<Source, Long> { // } data class Source( @Id val id: Long, val type: String, val params: Array<String> )
这是在Kotlin,反对Spring Boot 2.0.0.M4。 我的目标是在Docker中运行的MongoDB实例。 如果我删除了这一点的启动逻辑,我的另一个ReactiveCrudRepository能够读/写就好,永远不会阻塞。
工作仓库的saveAll()调用也在blockLast()中结束,因为我发现没有这个保存就不会实际发生。
- 我不能在Springboot-Kotlin中排除MongoAutoConfiguration(MongoSocketOpenException)
- 将thymeleaf版本2.14迁移到3.0不能找到消息属性
- 如何判断我的Spring启动应用程序是否处于调试模式?
- Spring Boot无法在IntelliJ中运行单个测试
- Kotlin + SpringBoot 2.0.0-M4失败tu加载应用程序上下文(BeanCreationException)
- 在Kotlin项目中使用@Value注释时出现编译器警告
- 在Kotlin函数中使用@Qualifier
- Kotlin弹簧安全配置
- Spring在Kotlin中注入了参考