Re: How to configure http client?

2013-11-27 Thread PJ Walstroem
thank you, Willem,
so the code suggested would actually set the SO_TIMEOUT on the http-client?
I can not seem to get it to work, but will try further to try to figure it
out.

I also notice the HttpComponent.setConnectionTimeToLive(). Would that
accomplish the same behaviour?

best regard, Per Jorgen



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784p5743902.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: How to configure http client?

2013-11-27 Thread Willem jiang
No, HttpComponent.setConnectionTimeToLive() is used to set the connection 
manager timeToLive option, it has nothing to do with the SO_TIMEOUT.


--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
  http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Wednesday, November 27, 2013 at 5:04 PM, PJ Walstroem wrote:

 thank you, Willem,
 so the code suggested would actually set the SO_TIMEOUT on the http-client?
 I can not seem to get it to work, but will try further to try to figure it
 out.
  
 I also notice the HttpComponent.setConnectionTimeToLive(). Would that
 accomplish the same behaviour?
  
 best regard, Per Jorgen
  
  
  
 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784p5743902.html
 Sent from the Camel - Users mailing list archive at Nabble.com 
 (http://Nabble.com).





Re: How to configure http client?

2013-11-27 Thread PJ Walstroem
ok, thanks for the answer. I ended up doing the following. Seems to be
working ok.

HttpComponent http4Component = camelContext.getComponent(http4,
HttpComponent.class);
http4Component.setHttpClientConfigurer(new
HttpClientSocketTimeoutConfigurer());

HttpComponent https4Component = camelContext.getComponent(https4,
HttpComponent.class);
https4Component.setHttpClientConfigurer(new
HttpClientSocketTimeoutConfigurer());

public void configureHttpClient(HttpClient client) {
 HttpParams httpParams = client.getParams();
 HttpConnectionParams.setConnectionTimeout(httpParams,
TIMEOUT_IN_MILLIS);
 HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_IN_MILLIS);
}



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784p5743950.html
Sent from the Camel - Users mailing list archive at Nabble.com.


How to configure http client?

2013-11-25 Thread PJ Walstroem
hello,
we have the following entry in our route:

.to(routeConfig.getSupplierUri())

where supplierUri could be 
(1) https4:foo.com/MetaSearchService_v1.asmx
(2) https4:bar.com/service?username=foo
etc. (we configure around 30 of these routes)

What we would like to do, is to set a global soTimeout for alle the
http4-endpoints. Something like this:

.to(routeConfig.getSupplierUri() + ?httpClient.soTimeout=5000)

However, this is not so straightforward as we need logic to decide if we
should add the query mark or not as this might be added already (as in
example 2 above)

Is it possible to use
http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/BasicHttpParams.html
or org.apache.http.client.config to accomplish this?

any suggestions would be highly appreciated!

/pj



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: How to configure http client?

2013-11-25 Thread PJ Walstroem
I could use the code below (as suggested in
http://camel.apache.org/http4.html), but seems like any calls on the
HttpClient are deprecated in HttpClient 4.3. Any non-deprecated suggestions?

HttpComponent httpComponent = getContext().getComponent(http4,
HttpComponent.class);
httpComponent.setHttpClientConfigurer(new MyHttpClientConfigurer());

public class MyHttpClientConfigurer implements HttpClientConfigurer {
public void configureHttpClient(HttpClient client) {
client.getParams().setIntParameter(httpClient.soTimeout, 5);
}
}



--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784p5743790.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: How to configure http client?

2013-11-25 Thread Willem jiang
I’m afraid you need to wait for a while after we remove the deprecated API of 
HttpClient 4.x.
In the meantime I think you can still use the MyHttpClientConfigurer to do the 
job.
BTW, I just fill a JIRA[1] for it.

[1]https://issues.apache.org/jira/browse/CAMEL-7010  

--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
  http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Monday, November 25, 2013 at 7:31 PM, PJ Walstroem wrote:

 I could use the code below (as suggested in
 http://camel.apache.org/http4.html), but seems like any calls on the
 HttpClient are deprecated in HttpClient 4.3. Any non-deprecated suggestions?
  
 HttpComponent httpComponent = getContext().getComponent(http4,
 HttpComponent.class);
 httpComponent.setHttpClientConfigurer(new MyHttpClientConfigurer());
  
 public class MyHttpClientConfigurer implements HttpClientConfigurer {
 public void configureHttpClient(HttpClient client) {
 client.getParams().setIntParameter(httpClient.soTimeout, 5);
 }
 }
  
  
  
 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/How-to-configure-http-client-tp5743784p5743790.html
 Sent from the Camel - Users mailing list archive at Nabble.com 
 (http://Nabble.com).