问题:在 webapp 中,我们必须调用一个输入为 N(100) 数字的 Web 服务,以便该 Web 服务从队列中获取响应。一旦我得到 100 个响应,我必须将它分成 5 个线程,并为每个线程相应地划分这些响应(每个 20 个)。一旦线程的处理完成,它应该再次调用webservice。
我有 web 服务,它会根据输入编号返回响应,但我不知道应该使用什么技术来实现另一部分。
我研究了以下内容:
Spring 任务执行:http ://static.springsource.org/spring/docs/3.0.x/reference/scheduling.html - 但这不适合,因为我无法指定需要启动多少线程。
分区:section7.4:http://static.springsource.org/spring-batch/reference/html/scalability.html -我刚遇到这个,但之前没有使用过。
如果你们中的任何一个人能引导我朝着正确的方向前进,那就太好了。
这是我的第一篇文章,如果有任何错误,我深表歉意。
更新:2012 年 11 月 21 日:我已经使用 ThreadPoolTaskExecutor 实现了。假期后我将发布我的代码片段。但是让我烦恼的一件事是我必须将 100 个结果分成 20 个一组并使用 taskExecutor.submit(); 在 For 循环中循环 5 次,这将创建 5 个线程。最好有一个直接的方式来提交这 100 个请求,并且可以选择我想要生成的线程数。
祝大家感恩节快乐。放假后会更新帖子