java - 如果发生任何异常,我是否需要实例化新的 JAX-WS 客户端?

标签 java web-services jax-ws

我像这样连接到网络服务:

CalculatorService service = new CalculatorService();
Calculator client = service.getCalculatorPort();
((BindingProvider) client).getRequestContext().put(BindingProviderProperties.REQUEST_TIMEOUT, 5000);
((BindingProvider) client).getRequestContext().put(BindingProviderProperties.CONNECT_TIMEOUT, 5000);

如果发生任何异常,我是否需要实例化新的 JAX-WS 客户端并设置 REQUEST_TIMEOUTCONNECT_TIMEOUT 或者我可以重用相同的对象?

最佳答案

不,您不需要实例化新的客户端/端口。它们可以在出现异常时重用,但请注意,规范并不要求它们是线程安全的。因此,如果您同时调用多个端口,则应该使用它们(尽管某些实现声称具有一定程度的线程安全性,特别是如果您不修改请求上下文,但这取决于实现)。

关于java - 如果发生任何异常,我是否需要实例化新的 JAX-WS 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22420958/

相关文章:

Java地铁安全: StreamMessage has been already consumed

jboss - 在 JBoss EAP 6.1 上使用 EclipseLink MOXy 作为 JAX-WS 的 JAXB 提供者

java - 从 Gradle 运行 Protractor 测试

Java TSP 排列点

Java 对象的部分构造

java - 具有重要名称的 WSDL 中的参数名称

android - 如何从 Android 移动应用程序调用本地 Web 服务

java - 如何在Android中创建 "clickable"行并在TextView中突出显示该行和文本

android - Android 和 iOS 应用程序的后端

java - 添加 SOAP 故障而不更改 WSDL 文件?