forked from D-Net/dnet-hadoop
Merge pull request 'islookup_timeout' (#30) from islookup_timeout into master
Thanks, Michele!
This commit is contained in:
commit
7fc27bfdd1
|
@ -1,15 +1,22 @@
|
||||||
|
|
||||||
package eu.dnetlib.dhp.utils;
|
package eu.dnetlib.dhp.utils;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import java.util.Map;
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
|
import javax.xml.ws.BindingProvider;
|
||||||
|
|
||||||
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
|
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
|
import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
|
||||||
|
|
||||||
public class ISLookupClientFactory {
|
public class ISLookupClientFactory {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(ISLookupClientFactory.class);
|
private static final Logger log = LoggerFactory.getLogger(ISLookupClientFactory.class);
|
||||||
|
|
||||||
|
private static int requestTimeout = 60000 * 10;
|
||||||
|
private static int connectTimeout = 60000 * 10;
|
||||||
|
|
||||||
public static ISLookUpService getLookUpService(final String isLookupUrl) {
|
public static ISLookUpService getLookUpService(final String isLookupUrl) {
|
||||||
return getServiceStub(ISLookUpService.class, isLookupUrl);
|
return getServiceStub(ISLookUpService.class, isLookupUrl);
|
||||||
|
@ -21,6 +28,25 @@ public class ISLookupClientFactory {
|
||||||
final JaxWsProxyFactoryBean jaxWsProxyFactory = new JaxWsProxyFactoryBean();
|
final JaxWsProxyFactoryBean jaxWsProxyFactory = new JaxWsProxyFactoryBean();
|
||||||
jaxWsProxyFactory.setServiceClass(clazz);
|
jaxWsProxyFactory.setServiceClass(clazz);
|
||||||
jaxWsProxyFactory.setAddress(endpoint);
|
jaxWsProxyFactory.setAddress(endpoint);
|
||||||
return (T) jaxWsProxyFactory.create();
|
|
||||||
|
final T service = (T) jaxWsProxyFactory.create();
|
||||||
|
|
||||||
|
if (service instanceof BindingProvider) {
|
||||||
|
log
|
||||||
|
.info(
|
||||||
|
"setting timeouts for {} to requestTimeout: {}, connectTimeout: {}",
|
||||||
|
BindingProvider.class.getName(), requestTimeout, connectTimeout);
|
||||||
|
|
||||||
|
Map<String, Object> requestContext = ((BindingProvider) service).getRequestContext();
|
||||||
|
|
||||||
|
requestContext.put("com.sun.xml.internal.ws.request.timeout", requestTimeout);
|
||||||
|
requestContext.put("com.sun.xml.internal.ws.connect.timeout", connectTimeout);
|
||||||
|
requestContext.put("com.sun.xml.ws.request.timeout", requestTimeout);
|
||||||
|
requestContext.put("com.sun.xml.ws.connect.timeout", connectTimeout);
|
||||||
|
requestContext.put("javax.xml.ws.client.receiveTimeout", requestTimeout);
|
||||||
|
requestContext.put("javax.xml.ws.client.connectionTimeout", connectTimeout);
|
||||||
|
}
|
||||||
|
|
||||||
|
return service;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue