gpt4 book ai didi

jms - 如何启动一个长时间运行的 Java EE 作业?

转载 作者:行者123 更新时间:2023-12-04 00:43:56 25 4
gpt4 key购买 nike

我需要启动一个长时间运行的批处理类型的作业,而且很长一段时间我们正在谈论一个可能需要几个小时的作业。具有运行此长时间运行作业的逻辑的 ejb 将与 NoSQL 存储通信并加载数据等。

因此,我使用 JMS MDB 异步执行此操作。但是,由于每个作业可能需要长达一个小时或更长时间(假设最多 4 小时),我不希望 MDB 中的 onMessage() 方法等待这么长时间。因此,我考虑在 onMessage() MDB 方法中触发一个异步 ejb,以便在调用批处理 ejb 运行程序后立即将 MDB 返回到池中。

将异步 ejb 方法调用与 MDB 组合是否有意义?大多数示例建议使用其中一种来实现相同的目的。

如果要从 MDB 调用的 ejb 不是异步的,那么 MDB 可能会等待很长时间。

请指教。

最佳答案

我会简化事情:使用@Schedule 来调用@Asynchronous 而忘记JMS。少一件可能出错的事情。

虽然还没有准备好迎接黄金时段,但 JSR 352:批处理应用程序看起来非常有前途。

https://blogs.oracle.com/arungupta/entry/batch_applications_in_java_ee

关于jms - 如何启动一个长时间运行的 Java EE 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com