Spring应用程序侦听器而不是线程

时间:2011-04-01 09:17:47

标签: spring

Spring提供e应用程序监听器来处理应用程序事件。我想摆脱我的Thread类并使用这些监听器进行事件处理。可以提示启动吗?我可以这样做吗?

2 个答案:

答案 0 :(得分:3)

默认情况下,请考虑ApplicationListener通知是同步,因此它不能直接替换基于您可能拥有的线程的任何异步解决方案。另一方面,可以更改事件传递的默认策略以使其异步(但它仍然需要一些编码)。我会直接从Spring documentation开始:)

答案 1 :(得分:2)

您可以为自定义事件扩展ApplicationEvent并实现ApplicationListener来处理它。这些事件是同步的(阻塞)。

或者您可以使用AsyncTaskExecutor将它们异步化。

您可以在此answer中找到稍后的示例。