Dear all, 

When I run this route (Camel version 2.24.2), the filter is applied for the 
expected files with extension jp2, but the last instructions (log and process) 
seem to become part of the filter block as if it was not closed by the end(). 
The result is that for non jp2 files nothing is executed, while I expected them 
to get to the last two steps. 

------------------------ 
from("seda:queue").routeId("science-file-persisting") 
... 
.filter().simple("${file:ext} == 'jp2'") 
.log(LoggingLevel.INFO, "Moving ${headers.CamelFileNameOnly} to jpip stage 
area") 
.setBody(simple("${in.header.FileContent}")) 
.log(LoggingLevel.INFO, "IN Filter") 
.recipientList(simple("{ 
{jpip.stage.route.path}}/?fileName=${headers.CamelFileNameOnly}")) 
.end() 
.log(LoggingLevel.INFO, "OUT Filter") 
.process(reportLogger); 
------------------------ 

I thought that maybe the end() was closing some other part of the route than 
the filter, and I managed to get it working appending an extra "end()" to the 
recipientList like this: 

------------------------ 
from("seda:queue").routeId("science-file-persisting") 
... 
.filter().simple("${file:ext} == 'jp2'") 
.log(LoggingLevel.INFO, "Moving ${headers.CamelFileNameOnly} to jpip stage 
area") 
.setBody(simple("${in.header.FileContent}")) 
.log(LoggingLevel.INFO, "IN Filter") 
.recipientList(simple("{ 
{jpip.stage.route.path}}/?fileName=${headers.CamelFileNameOnly}")) 
.end() 
.end() 
.log(LoggingLevel.INFO, "OUT Filter") 
.process(reportLogger); 
------------------------ 

I have not seen the need for an end() for recipientList in the documentation, 
so it makes me doubt. 
Could someone help me to understand whether this behaviour is the expected one 
(i.e., why the former does not work and the latter does)? 

Thanks a lot in advance. 
Cheers, 
Hector 

This message is intended only for the recipient(s) named above. It may contain 
proprietary information and/or
protected content. Any unauthorised disclosure, use, retention or dissemination 
is prohibited. If you have received
this e-mail in error, please notify the sender immediately. ESA applies 
appropriate organisational measures to protect
personal data, in case of data privacy queries, please contact the ESA Data 
Protection Officer (d...@esa.int).


Reply via email to