问题描述
假设我编写了一个简单的类(它是用 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 (将#修改为@)