如何解决Micronaut:micronaut 启动后如何运行某个类的方法?
假设我编写了一个简单的类(它是用 Kotlin 编写的,但这个问题也适用于 Java):
class Bot {
fun initialize() {
val client: GatewaydiscordClient =
discordClientBuilder.create("MY-TOKEN")
.build()
.login()
.block()!!
MajorEvent.createEvents(client)
client.ondisconnect().block()
}
}
运行 Micronaut 应用的基本方式如下:
fun main(args: Array<String>) {
build()
.args(*args)
.packages("com.codenamite")
.start()
}
如何使 Bot.initialize()
在启动时运行?我已经尝试在类上使用 @Singleton
注释,并在 @postconstruct
方法上使用 initialize()
,但它似乎不起作用。
我试过了:
fun main(args: Array<String>) {
build()
.args(*args)
.packages("com.codenamite")
.start()
val bot = Bot()
bot.initialize()
}
它显然有效,但似乎 Bot.initialize()
超出了 Micronaut 的上下文。
有很多示例如何使用 rest 控制器或 cred 服务来做到这一点,但有没有办法实现我想要的?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。