Ok, some more worrying details.
Right now I have two Remote Hosts After a successful run on Host A a second run is done (not parallel but sequential) on Host B. And I'm able to see that the header.address is set to host B still I see that the request is made on Host A. Is this intentional, are there any ways of not "remembering" which call did go to which Host? Thanks again, Achim 2011/9/29 Achim Nierbeck <bcanh...@googlemail.com>: > Hi > > using Camel 2.8.0 I'm having the following scenario. > I'm using the CXF for connecting to a couple .NET Webservices. > > <!-- CXF config --> > <cxf:cxfEndpoint id="productionServer" > > serviceClass="net.testservices.productionservice._2011_07.IService" > endpointName="s:basicHttpProductionService" > serviceName="s:ProductionService" > wsdlURL="classpath:/wsdl/_1.wsdl" xmlns:s="http://tempuri.org/" > > xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" > xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> > <cxf:properties> > <entry key="dataFormat" value="POJO" /> > </cxf:properties> > <cxf:outInterceptors> > <ref bean="loggingOutInterceptor" /> > </cxf:outInterceptors> > </cxf:cxfEndpoint> > > > Now I have a route for looking up some data in the DB for example also > looking for a free > WebService to call: > > <camel:route id="pollQueue"> > <camel:from > uri="timer://pollQueueTimer?fixedRate=true&period=30000" /> > > ... do preparation .... > ... also set the address of the remote host into the header of the exchange > ... > ... call the "production" route ... > > <camel:to uri="seda:production" /> > </camel:route> > > the production route does call the Webservice on the available remote > host as follows > > ... again a couple of preparations beforehand .... > > <!-- Altering Body to contain no data --> > <camel:setBody> > <camel:mvel>[ ]</camel:mvel> > </camel:setBody> > > <!-- service call --> > <camel:setHeader headerName="operationName"> > <camel:constant>ProduceData</camel:constant> > </camel:setHeader> > > ... the address of the remote webservice was previously added to the > header in the starting route ... > > > ... I needed to set the parallelProcessing to true, if not everything > fails because the Timer Route tries to start another recipientList ... > > <camel:recipientList parallelProcessing="true"> > > <camel:simple>cxf:bean:productionServer?address=${header.address}</camel:simple> > </camel:recipientList> > > ... some more calls checking data, errorhandling and so forth .... > > > Now the following happened to me when I had more than one Remote Host > available: > > Calls to Host A did run on Host B > Results expecting to be retrieved from Host A where polled from Host B. > Now I wonder if the calls to certain Methods are cached or if the > "re-running" timmer route does > interfere somehow with the already running route. > > A Complete run of a route can take up to about 30 Minutes after that > the "Production"-Route is done. > Since there are multiple hosts available we want to do parallel processing. > > Any hints are welcome, > > Achim > > > -- > -- > *Achim Nierbeck* > > > Apache Karaf <http://karaf.apache.org/> Committer & PMC > OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> > Committer & Project Lead > blog <http://notizblog.nierbeck.de/> > -- -- *Achim Nierbeck* Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/>