gpt4 book ai didi

java - 在 Spring 的 WebServiceTemplate 中设置超时

转载 作者:行者123 更新时间:2023-11-30 07:07:10 26 4
gpt4 key购买 nike

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

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

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

最佳答案

从 Spring Webservices 2.2 开始,您可以使用 Spring 的 ClientHttpRequestMessageSender :

@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));
}

(...)
}

关于java - 在 Spring 的 WebServiceTemplate 中设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39899571/

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