gpt4 book ai didi

java - 如何加速调用 2 个 Web 服务的 servlet?

转载 作者:行者123 更新时间:2023-11-29 06:12:26 25 4
gpt4 key购买 nike

我有一个调用 2 个网络服务的 servlet。这 2 个 Web 服务在不同的线程中调用。在我的 servlet thered(扩展 HttpServlet 的类)中,我启动了这两个线程,然后在 while 循环中等待,直到这些线程完成。这在 while 循环完成的 JBOSS 和 Tomcat 服务器实用程序上消耗了大量 CPU(几乎 100%)。我使用 wsiimport 工具为 WS 客户端创建了代码。为每个 HTTP 请求创建 WSClient 对象需要相当长的时间(调用 new WSClient (wsdlLocation, serviceName))。

关于如何进一步加快速度,您能给我一些建议吗?我怎样才能更快地创建 WS 客户端对象?

最佳答案

不要busy wait .

或者sleep the current thread短暂延迟,直到再次检查其他线程是否已完成,或使用 wait() / notify()在其他操作完成时提醒当前线程(尽管在 servlet 中这可能非常困惑)。

至于将新的 Web 服务客户端导入您的应用程序的过程,如果您需要处理不同的 WSDL 以生成客户端代理代码,我不确定是否有更好的方法。唯一的选择可能是找到一种根本不需要不断生成新代码的设计。

关于java - 如何加速调用 2 个 Web 服务的 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6349738/

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