0
안녕하세요 연결 시간 제한을 설정하는 데 문제가 있습니다. WebServiceTemplate을 사용하며 1 개의 messageSender (CommonsHttpMessageSender)가 있습니다. 그러나 각 URI (끝점)마다 다른 연결 시간 제한을 설정할 수 있습니까? 감사합니다 WebServiceTemplate 및 CommonsHttpMessageSender를 사용하는 동안 다른 URI에 대해 다른 시간 제한을 설정하는 방법은 무엇입니까?
...public Message sendRequest(OutgoingRequest message, MessageHeaders headers,
EndpointInfoProvider endpointInfoProvider,
WebServiceMessageCallback requestCallback){
Assert.notNull(endpointInfoProvider, "Destination provider is required!");
final Credentials credentials = endpointInfoProvider.getCredentials();
URI destinationUri = endpointInfoProvider.getDestination();
for (WebServiceMessageSender messageSender : webServiceTemplate.getMessageSenders()) {
if (messageSender instanceof CommonsHttpMessageSender) {
HttpClient httpClient = ((CommonsHttpMessageSender) messageSender).getHttpClient();
httpClient.getState().setCredentials(
new AuthScope(destinationUri.getHost(),
destinationUri.getPort(), AuthScope.ANY_REALM,
AuthScope.ANY_SCHEME), credentials
);
httpClient.getParams().setAuthenticationPreemptive(true);
((CommonsHttpMessageSender) messageSender)
.setConnectionTimeout(endpointInfoProvider
.getTimeOutDuration());
}
}
webServiceTemplate.setDestinationProvider(endpointInfoProvider);
//........
}
답변 해 주셔서 감사합니다. 하나의 webServiceTemplate에 대해 여러 messageSender를 구성하고 있습니까?이 목적을위한 방법이기도합니다. – Jemo