I have a requirement to stream an xml file from a server <streamXMLFile> and
divide the original xml to sub xml files based on a tag and also to extract
the value of a particular xml tag path from the splitted xml's then to
create a map with the extracted value and the split xml file <recordBuilder>
and put all the maps of each split to a list.

/               <route id="processXMLFiles">
                        <from uri="ref:activemqQueue" />                        
                        <process ref="processFileReadyMessage" />
                        <process ref="streamXMLFile" />
                        <split>
                                <tokenize token="snapshotRecord" xml="true" />
                                <setHeader headerName="subscriberId">
                                        <xpath
resultType="java.lang.String">/superTagName/subTagName/@attributeName</xpath>
                                </setHeader>
                                <process ref="recordBuilder" />
                               <process ref="anotherProcessor"/>
                               <process ref="anotherProcessor"/>
                    </split>
                </route>/

As the <recordBuilder> process is inside the split tag i'm getting each
split xml file and i have a if condition in the <recordBuilder>  to check
the split size set the created list of maps inside the exchange body as:
/
                if (splitSize == recordNumber) {
                                        exchange.getOut().setBody(snapshotList);
                }/

while this condt is not meet the next processor is invoked with an empty
exchange body. 

if i put the processors outside the split tag, i get the bytestream exchange
body which is actually the output of the <streamXMLFile> process.

How do i make sure i send the list of maps to the successive processors only
after i create the list fully with all the xml splits.





--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-Splitter-EIP-to-process-xml-file-tp5755861.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to