Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Spring中设置超时';s Web服务模板_Java_Spring_Web Services_Timeout_Spring Ws - Fatal编程技术网

Java 在Spring中设置超时';s Web服务模板

Java 在Spring中设置超时';s Web服务模板,java,spring,web-services,timeout,spring-ws,Java,Spring,Web Services,Timeout,Spring Ws,有没有办法以编程方式设置Spring的WebServiceTemplate的超时?我看过一些关于通过应用程序上下文配置文件中的消息发送者设置它的老文章。但在我们的项目中,这些对象是通过代码创建的,而不是通过注入 我需要降低默认超时时间,因为有时客户的端点花费的时间太长,并且会排队等待其他请求,所以我需要强制它更快地失败 PS:使用spring-ws-core-2.2.2.RELEASE.jar由于spring Webservices 2.2,您可以使用spring的: 很好,我实际上已经设置了自

有没有办法以编程方式设置Spring的WebServiceTemplate的超时?我看过一些关于通过应用程序上下文配置文件中的消息发送者设置它的老文章。但在我们的项目中,这些对象是通过代码创建的,而不是通过注入

我需要降低默认超时时间,因为有时客户的端点花费的时间太长,并且会排队等待其他请求,所以我需要强制它更快地失败


PS:使用spring-ws-core-2.2.2.RELEASE.jar

由于spring Webservices 2.2,您可以使用spring的:


很好,我实际上已经设置了自定义封送器,因此添加发件人非常简单!现在我只需要测试这个线程安全的实现,或者我需要切换到其他类型的发送器吗?我需要确定,因为我的WS-client存储在一个私有的静态final变量中,并且被许多线程使用,这些线程可能是
@Service
public class CustomWebServiceImpl extends WebServiceGatewaySupport implements CustomWebService {
    private static final int CONNECTION_TIMEOUT = (10 * 1000);
    private static final int READ_TIMEOUT = (10 * 1000);

    public CustomWebServiceImpl() {
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
        requestFactory.setConnectTimeout(CONNECTION_TIMEOUT);
        requestFactory.setReadTimeout(READ_TIMEOUT);
        setMessageSender(new ClientHttpRequestMessageSender(requestFactory));
    }

    (...)
}