我像这样连接到网络服务:
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_TIMEOUT
、CONNECT_TIMEOUT
或者我可以重用相同的对象?
最佳答案
不,您不需要实例化新的客户端/端口。它们可以在出现异常时重用,但请注意,规范并不要求它们是线程安全的。因此,如果您同时调用多个端口,则应该使用它们(尽管某些实现声称具有一定程度的线程安全性,特别是如果您不修改请求上下文,但这取决于实现)。
关于java - 如果发生任何异常,我是否需要实例化新的 JAX-WS 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22420958/