Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JDA事件中继到Spring事件子系统会挂起整个Spring应用程序_Spring_Spring Boot_Kotlin_Discord Jda - Fatal编程技术网

将JDA事件中继到Spring事件子系统会挂起整个Spring应用程序

将JDA事件中继到Spring事件子系统会挂起整个Spring应用程序,spring,spring-boot,kotlin,discord-jda,Spring,Spring Boot,Kotlin,Discord Jda,我正在尝试使用SpringBoot和Kotlin为Discord机器人创建一个命令框架。我在Javacord上运行得很好,但最近我决定改用JDA,遇到了一个障碍。我正在制作的命令框架还将所有不一致事件中继到Spring事件系统,我目前正在使用自动连线的ApplicationEventPublisher抓取通用事件侦听器()并将所有内容发送到Spring。然而,spring应用程序似乎挂起了这一行,在使用一些断点对其进行调试之后,它似乎被卡在了这一行()。知道为什么会这样吗?我看过这个()但我不知

我正在尝试使用SpringBoot和Kotlin为Discord机器人创建一个命令框架。我在Javacord上运行得很好,但最近我决定改用JDA,遇到了一个障碍。我正在制作的命令框架还将所有不一致事件中继到Spring事件系统,我目前正在使用自动连线的
ApplicationEventPublisher
抓取通用事件侦听器()并将所有内容发送到Spring。然而,spring应用程序似乎挂起了这一行,在使用一些断点对其进行调试之后,它似乎被卡在了这一行()。知道为什么会这样吗?我看过这个()但我不知道该怎么办

SpringGenericEventPublisher.kt

@Component
class SpringGenericEventPublisher : EventListener {
    @Autowired
    private lateinit var context: ApplicationEventPublisher

    override fun onEvent(event: Event) = context.publishEvent(event)
}
BotConfiguration.kt
(其中我有一个构建JDA实例的bean)

然后我有一个简单的监听器来测试

@Component
class FooComponent {
    @EventListener(Event::class)
    fun onFoo(event: Event) {
        println("Reached `onFoo`")
    }
}
有什么想法吗

提前谢谢

PS:我应该补充一点,我也在使用SpringDataRedis和SpringDataMongoDB,在这之前两者都会成功启动,命令注册表应该在这之后启动,只是没有。JDA实例完全可以登录,因为如果我只是在屏幕上打印一些东西,而不是在
SpingenericEventPublisher
上发布事件,它将成功

@Component
class FooComponent {
    @EventListener(Event::class)
    fun onFoo(event: Event) {
        println("Reached `onFoo`")
    }
}