【发布时间】:2015-06-29 03:47:20
【问题描述】:
我正在使用 Java EE 应用程序,我希望并行执行一些 WebService。
我想知道两种不同方法的优缺点:
- 使用 JMS 队列和 MDB,因此我放入队列中的每条消息都会并行执行。这样,将消息放入队列的应用程序部分将有一段时间等待 MDB 在 RS 队列中做出响应。
- 使用 java 并发 API(未来/可调用)。
添加
这是应用程序需要做的:
应用程序已经通过 MDB 完成了,但我正在考虑重构。
今天的情景:
//CALLER CLASS
FOREACH INTEGRATION
PUT MESSAGE INTO A QUEUE AND STORE AN ARRAY OF CORRELATION_IDs
END
THREAD.SLEEP(X) // SOMETIME FOR INTEGRATION TO FINISH
WHILE (true){
GET RESPONSE FROM THE RESPONSE QUEUE FOR EACH INTEGRATION USING THE CORRELATION PREVIOUSLY STORED
}
//MDB CLASS
HAS A HUGE SWITCH CASE THAT PROCESS EACH INTEGRATION
RETURN THE RESULT INTO THE RESPONSE QUEUE;
问题:
- 在java中使用并发API可以吗?在我看来,使用并发 API 将消除一层故障 (JMS)。
- 我的部署环境是 Websphere。使用并发 Java API 创建自己的线程是一种好习惯吗?
提前致谢
【问题讨论】:
-
我现在把问题说得更具体了......
标签: java multithreading jakarta-ee