java - Spring消息驱动Bean和java.util.Queue

标签 java spring message-driven-bean

我有一些非关键的清理操作,我想在我的网络应用程序中执行。我希望将其交给异步流程,但我没有任何可用的 JMS 提供程序(而且我不太可能在时间范围内获得批准)。

我喜欢 Spring MDP 的想法,但我见过的所有示例都明确地将其与某种 JMS 实现联系起来。是否可以将其绑定(bind)到基于 java.util.Queue 接口(interface)的队列实现?我想我可以将消息推送到队列并使用 Spring MDP 来处理它们。

我是不是找错树了?

最佳答案

也许你可以使用asynchronous tasks进行清理工作。您可以有一个提供 @Asnyc 注解方法的 CleanUp 组件。 TaskExecutors 隐式地使用队列来处理待处理的任务(如普通 Java 的 ExecutorService)。还可以选择将提交的清理请求收集到队列中并让计划任务处理它们。

另一个替代方案可能是 Guava's EventBus 。使用 spring 设置一个应该很简单,并且有一个 AsynchronousEventBus 可用。

关于java - Spring消息驱动Bean和java.util.Queue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17146687/

相关文章:

java - WebSphere MQ 中的消息组

java - JPA : Store a list of integers in a single field

java - 如何防止 Hibernate 修剪字符串?

java - 如何从 Java 中的 HttpResponse 对象检索列表 <String>

spring - @Size 和@Pattern 注释在 Spring MVC 中不起作用

java - 使用 Spring Security 配置应用程序以接受 HTTP 请求并发送 HTTPS 响应

ejb - 我们可以在 EJB 3.0 中使用 ejb-jar.xml 而不是 MessageDrivenBean(MDB) 的注释吗?

java - 在 JBoss EAP 5.1 中为特定的 MDB 设置 maxSession 属性

Java-根据名称获取类的对象

java - lambda Java 8,如何映射作为过滤操作结果字段的列表