spring-boot - 可以在 Kotlin 中暂停 main 功能吗?
问题描述
我是 Kotlin 协程的新手,之前没有使用过它。现在我有一个项目正在大量使用它,并且是一个 Spring Boot 项目。我注意到引导 SpringBootApp 它自己的主要功能被标记为挂起,下面的等效代码:
@SpringBootApplication
class SomeClass
fun main() {
val someListener = SpringApplication
.run(SomeClass::class.java)
.getBean(AotherClass::class.java)
while (true) {
someListener.readSomething()
}
}
当然,这个readSomething
函数本身就是一个挂起函数,基本上从某个队列中读取消息。我的问题是是否应该暂停主要功能,因为据我认为不应该,我应该将 readSomething 包装在runBlocking
块中,但我不确定。我预感这是错误的原因是因为如果我将暂停保留在那里,IntelliJ 不允许 SpringBoot 运行配置。
任何解释在这里都会有所帮助。
解决方案
推荐阅读
- erlang - 一个接受字符串并为您提供由空格分隔的第一个单词的函数?
- python - 给定一个 aws-lambda,如何使用 boto3 更改与之关联的 cloudwatch 规则?
- python - PyDICOM 无法读取像素数据,需要 GDCM 或 Pillow
- mysql - 发布请求因某些 curl 命令而失败,但与其他命令失败
- python - 在 PyCharm 中运行 main 之前运行一个初始化脚本/代码块
- android - Ionic v1 构建错误将字节码转换为 dex
- javascript - 如何在模态引导程序 4 中显示谷歌地图
- java - IntelliJ IDEA 看不到我的环境变量
- python - 查找连续列数据的平均值
- sql-server - 如何在内部事务中抛出异常而不结束 SQL Server 存储过程执行?