我有一个 Web 服务,它在其中一个 Web 方法中创建两个线程并调用另外两个 Web 服务来插入数据。现在,我的原始 Web 服务预计会同时接收 1,000 到 10,000 个范围内的调用。因此,您可能会理解,对于内部的每个此类调用,我的 Web 服务将再创建两个线程。我已经针对如此重的负载调整了我的应用程序服务器。相信我。
我在原始 Web 服务中使用未来对象使用具有固定线程池大小的 Executor,但我发现对其他两个 Web 服务的调用似乎是按顺序处理的。我检查了所有教程/代码片段。我的代码似乎是正确的。
ExecutorService executor = Executors.newFixedThreadPool(size);
Future<Boolean> futureOne = executor.submit(new MyThread(serviceOne, data));
Future<Boolean> futureTwo = executor.submit(new MyThread(serviceTwo, data));
bSuccessfulOne = futureOne.get();
bSuccessfulTwo = futureTwo.get();
鉴于我写的第一段是有任何多线程/作业并行框架/只是一些常识编程可能有助于并行处理这些 Web 服务调用。如果有,请建议。