Apache Camel : configuration des timeouts HTTP

En savoir plus

Il y a même plus court et surtout plus souple. La configuration précédente présente l'inconvénient de fixer les valeurs de temporisation pour l'ensemble des routes utilisant le composant HTTP. Pour une configuration "par route" à la demande, on peut utiliser le paramétrage par référence. Avec les déclarations Spring suivantes :


 <bean id="clientConnectionManager2"
   class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager">
   <property name="params">
      <bean
         class="org.apache.commons.httpclient.params.HttpConnectionManagerParams">
         <property name="connectionTimeout" value="5000" />
         <property name="soTimeout" value="2000" />
      </bean>
   </property>
</bean>

<bean id="clientConnectionManager3"
   class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager">
   <property name="params">
      <bean
         class="org.apache.commons.httpclient.params.HttpConnectionManagerParams">
         <property name="connectionTimeout" value="10000" />
         <property name="soTimeout" value="12000" />
      </bean>
   </property>
</bean>

Il suffit de configurer les routes avec la référence du bean souhaité :


from("direct:start1").
to("http://www.google.com/search?q=netapsys&clientConnectionManager=#clientConnectionManager2").to("mock:result");

from("direct:start2").
to("http://www.google.com/search?q=netapsys&clientConnectionManager=#clientConnectionManager3").to("mock:result");


Il existe un composant Camel utilisant la version 4.x d'HttpClient que je n'ai pas encore eu l'occasion d'utiliser. La configuration doit être probablement légèrement différente.

Autour du même sujet
JDN Développeur Haut de page
A VOIR EGALEMENT