【发布时间】:2014-11-19 20:34:16
【问题描述】:
我每天需要使用 EJB 3.1 异步方法处理大约 250.000 个文档,才能完成一项长期任务。
我这样做是为了使用更多线程并同时处理更多文档。下面是一个伪代码示例:
// this returns about 250.000 documents per day
List<Document> documentList = Persistence.listDocumentsToProcess();
for(Document currentDocument: documentList){
//this is the asynchronous call
ejbInstance.processAsynchronously(currentDocument);
}
假设我有一个大小为 10 和 4 个核心处理器的线程池,我的问题是:
- 应用程序服务器将同时处理多少个文档?
- 当池中的所有线程都在处理一个文档并且又来一个异步调用时会发生什么?这会像 JMS 队列一样工作吗?
- 如果采用 JMS 队列解决方案,我有什么改进吗?
我使用 Java EE 6 和 WebSphere 8.5.5.2
【问题讨论】:
标签: asynchronous jms ejb-3.1 websphere-8