On Fri, Jan 22, 2010 at 2:41 PM, Andy Bourke <[email protected]> wrote: > > If I understand it right, the multicast allows the same payload to be > processed by multiple end points? If I remove the multicast then won't the > second enpoint (in the now non-multicast pipeline) try to process the output > from the first one? >
Correct but just to see if the file gets renamed. Also try the multicast without parallel as well. > > Claus Ibsen-2 wrote: >> >> On Fri, Jan 22, 2010 at 1:20 PM, Andy Bourke <[email protected]> >> wrote: >>> >>> Hi all, >>> >>> I am new to camel and have hit a problem that I hope someone can help me >>> with. >>> >>> I have a route that looks for a file in a directory => unmarshals the >>> file >>> using <CSV> => transforms the output from the unmarshal (which is >>> List<List<String>>) to a List of data objetcs => passes the List of data >>> objects to a processor which does the intelligent mapping of the input >>> data >>> to the output which is a List of Objects => passes the List of Objects to >>> a >>> <multicast> pipeline who's endpoints traverse the List of Objects and >>> extract the data, that they are interested in, formatting the output in >>> to a >>> List of Map objects so that the <CSV> marshaller can marshal to a named >>> file. >>> >>> This is the route: >>> >>> <route id="iq"> >>> <from uri="file:/data/iq/inbound/"/> >>> <unmarshal> >>> <csv id="pipeCsvDataFormat"/> >>> </unmarshal> >>> <bean ref="iqTransform" method="doTransform"/> >>> <to uri="bean:iqProcessor?method=process"/> >>> <multicast parallelProcessing="true"> >>> <pipeline> >>> <to uri="bean:formatOutput?method=formatHeader"/> >>> <marshal> >>> <csv /> >>> </marshal> >>> <to >>> uri="file:/data/iq/outbound/?fileName=Txn_Header.txt"/> >>> </pipeline> >>> <pipeline> >>> <to uri="bean:formatOutput?method=formatLineHeader"/> >>> <marshal> >>> <csv /> >>> </marshal> >>> <to >>> uri="file:/data/iq/outbound/?fileName=Line_Header.txt"/> >>> </pipeline> >>> </multicast> >>> </route> >>> >>> >>> As expected, I get a correctly formatted file named Txn_Header.txt and a >>> file named Line_Header.txt in the /outbound directory. So the routing >>> seems >>> to have worked fine. >>> >>> The problem is that the original file does not get renamed in to the >>> .camel >>> subdirectory and so the file gets processed again and again. >>> >>> If I remove the second endpoint in the multicast so that only the >>> Txn_Header.txt file is produced then the original file does get renamed >>> and >>> the route ends successfully. >>> >> >> And with no mulitcast have you tried that? >> >> >>> Can someone help me understand what I have done wrong please? >>> >>> >>> >>> -- >>> View this message in context: >>> http://old.nabble.com/Renamer-failing-to-rename-%27From%27-File-when-using-multiple-endpoints-via-Multicast-tp27272407p27272407.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Author of Camel in Action: http://www.manning.com/ibsen/ >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> >> > > -- > View this message in context: > http://old.nabble.com/Renamer-failing-to-rename-%27From%27-File-when-using-multiple-endpoints-via-Multicast-tp27272407p27273273.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Author of Camel in Action: http://www.manning.com/ibsen/ Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
