Java 带延迟的Springboot事件发布程序
我正在使用spring事件发布事件,但我希望我的侦听器延迟接收已发布的消息(以便等待我的程序完成某些任务) 有没有办法设置一个延迟来接收我最近的活动Java 带延迟的Springboot事件发布程序,java,spring,spring-boot,event-handling,Java,Spring,Spring Boot,Event Handling,我正在使用spring事件发布事件,但我希望我的侦听器延迟接收已发布的消息(以便等待我的程序完成某些任务) 有没有办法设置一个延迟来接收我最近的活动 (我做了一些研究,但只有active mq似乎有延迟选项,但我不想在我的应用程序中创建真正的队列,只想创建事件驱动模式,也不想配置spring集成)如果我正确理解您的意图,你通过延迟事件来防御性地编写代码,以免让你的听众不知所措。尝试使用反应式编程结构,例如ProjectReactor提供的结构,它们带有内置的背压,专门用于解决生产者-消费者问题
(我做了一些研究,但只有active mq似乎有延迟选项,但我不想在我的应用程序中创建真正的队列,只想创建事件驱动模式,也不想配置spring集成)如果我正确理解您的意图,你通过延迟事件来防御性地编写代码,以免让你的听众不知所措。尝试使用反应式编程结构,例如ProjectReactor提供的结构,它们带有内置的背压,专门用于解决生产者-消费者问题 你延期的目的是什么?如果希望等待主线程,则首先完成任务,然后发布事件。但是,如果您需要异步执行,您可以通过同时使用Spring的
@Async
和@EventListener
注释来配置异步事件侦听器。@YavuzTas yes我正在等待任务完成。但这是一个由外部组件完成的任务,我无法控制它,因此我只能延迟自己的任务启动。谢谢,我已经使用webflux,但不知道延迟方法,我现在可以延迟我的任务,没有事件机制!