You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Debraj Manna <su...@gmail.com> on 2016/03/11 08:10:37 UTC
Http Connection Pooling in Camel
Hi,
I am using Camel as an Orchestration Engine.
clients sends HTTP request <-> CAMEL code <---- HTTP Req----- > external
server(s)
I am using HTTP4 Component (with default settings) for making HTTP Requests
to external server. I have quite a few http backends.
Right now the way we are making http calls to our backend is as follow:-
// The producer is created during app initialisation. This is actually done
via blueprint.xml
ProducerTemplate producer = camelContext.createProducerTemplate();
// Whenever I need to make a http call I am executing the below code with
URL set as something like:- "http4://order-api:8099/orders/v1/ordersearch/"
Exchange exchange = producer.request(URL, new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
log.info("Executing the HTTP request : URL - " + URL + " Headers -
" + headers + " Body : " + body);
exchange.getIn().setHeaders(headers);
exchange.getIn().setBody(body);
}
});
The query I am having is:-
1. Does HTTP4 in the default setting camel uses some http connection
pooling while making a call to the external servers?
2. If yes Is there a way I can configure the connection pooling from
blueprint.xml?
I am using Camel 2.16.1 and the application is deployed in Karaf 3.0.5.
Re: Http Connection Pooling in Camel
Posted by Willem Jiang <wi...@gmail.com>.
If you don’t setup the ConnectionManager on the Http4Component, Camel just create a new Connection which is based on the setting of maxTotalConnections and connectionsPerRoute.
--
Willem Jiang
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem
On March 13, 2016 at 1:02:36 AM, Quinn Stevenson (quinn@pronoia-solutions.com) wrote:
> I haven’t used this component very much, but the documentation (http://camel.apache.org/http4.html
> ) seems to hint at some sort of persistent connections
> (i.e. maxTotalConnections, connectionsPerRoute, etc).
>
> > On Mar 11, 2016, at 12:10 AM, Debraj Manna wrote:
> >
> > Hi,
> >
> > I am using Camel as an Orchestration Engine.
> >
> > clients sends HTTP request <-> CAMEL code <---- HTTP Req----- > external
> > server(s)
> >
> > I am using HTTP4 Component (with default settings) for making HTTP Requests
> > to external server. I have quite a few http backends.
> >
> > Right now the way we are making http calls to our backend is as follow:-
> >
> > // The producer is created during app initialisation. This is actually done
> > via blueprint.xml
> > ProducerTemplate producer = camelContext.createProducerTemplate();
> >
> > // Whenever I need to make a http call I am executing the below code with
> > URL set as something like:- "http4://order-api:8099/orders/v1/ordersearch/"
> >
> > Exchange exchange = producer.request(URL, new Processor() {
> > @Override
> > public void process(Exchange exchange) throws Exception {
> > log.info("Executing the HTTP request : URL - " + URL + " Headers -
> > " + headers + " Body : " + body);
> > exchange.getIn().setHeaders(headers);
> > exchange.getIn().setBody(body);
> > }
> > });
> >
> > The query I am having is:-
> >
> >
> > 1. Does HTTP4 in the default setting camel uses some http connection
> > pooling while making a call to the external servers?
> > 2. If yes Is there a way I can configure the connection pooling from
> > blueprint.xml?
> >
> > I am using Camel 2.16.1 and the application is deployed in Karaf 3.0.5.
>
>
Re: Http Connection Pooling in Camel
Posted by Quinn Stevenson <qu...@pronoia-solutions.com>.
I haven’t used this component very much, but the documentation (http://camel.apache.org/http4.html <http://camel.apache.org/http4.html>) seems to hint at some sort of persistent connections (i.e. maxTotalConnections, connectionsPerRoute, etc).
> On Mar 11, 2016, at 12:10 AM, Debraj Manna <su...@gmail.com> wrote:
>
> Hi,
>
> I am using Camel as an Orchestration Engine.
>
> clients sends HTTP request <-> CAMEL code <---- HTTP Req----- > external
> server(s)
>
> I am using HTTP4 Component (with default settings) for making HTTP Requests
> to external server. I have quite a few http backends.
>
> Right now the way we are making http calls to our backend is as follow:-
>
> // The producer is created during app initialisation. This is actually done
> via blueprint.xml
> ProducerTemplate producer = camelContext.createProducerTemplate();
>
> // Whenever I need to make a http call I am executing the below code with
> URL set as something like:- "http4://order-api:8099/orders/v1/ordersearch/"
>
> Exchange exchange = producer.request(URL, new Processor() {
> @Override
> public void process(Exchange exchange) throws Exception {
> log.info("Executing the HTTP request : URL - " + URL + " Headers -
> " + headers + " Body : " + body);
> exchange.getIn().setHeaders(headers);
> exchange.getIn().setBody(body);
> }
> });
>
> The query I am having is:-
>
>
> 1. Does HTTP4 in the default setting camel uses some http connection
> pooling while making a call to the external servers?
> 2. If yes Is there a way I can configure the connection pooling from
> blueprint.xml?
>
> I am using Camel 2.16.1 and the application is deployed in Karaf 3.0.5.