Hi Sidenote: You can use interceptors to intercept the route and do the authentication and if rejected divert the route to rejected queue. But your approach is just as good.
The transaction stuff is to my knowledge only for transactional resources such as JMS, JDBC. It is Spring that has the honor of doing the hard work, so whatever Spring can manage for transactions you can do. The file component is not transaction aware to my knowledge = Spring does not manage it. But the file component does indeed check if the exchange has failed or not. It's been a while since I last peeked into the file component. We have target improvements for the File and FTP components for Camel 1.5 as they could use a little overhaul in some areas. You could read the file and put it on a JMS queue ASAP. Then you can have transaction spanning as long as you want. Med venlig hilsen Claus Ibsen ...................................... Silverbullet Skovsgårdsvænget 21 8362 Hørning Tlf. +45 2962 7576 Web: www.silverbullet.dk -----Original Message----- From: cmoulliard [mailto:[EMAIL PROTECTED] Sent: 9. juli 2008 10:42 To: [email protected] Subject: Best strategy to by example authenticate a user based on file content before to process it ? Hi, I try to figure out what is the best strategy to by example authenticate a user based on file content before to process the content of the file ? The authentication process itself is not really important and may be replaced by another logic (like validation, ....). I'm not sure at all that I can do the full process in one route and probably that I need to separate the part extracting the user of the file from the next part of the route. Correct if I'm wrong ? Idea : from("file:///c:/temp") .setProperty("userName").xpath("path to find in the XML file the username") .to("direct:Authenticate"); from("direct:Authenticate") .to("bean:authentication") .choice().when(header("authenticated").isEqualTo(true)).to("direct:Unmarshallfile") .otherwise.to("queue:rejectedMessage") from("direct:UnmarshallFile") .unmarshall().jaxb() .to("queue:deliveredQueue") Additional question : Can I place the three from ... to in one transaction ? Regards, Charles -- View this message in context: http://www.nabble.com/Best-strategy-to-by-example-authenticate-a-user-based-on-file-content-before-to-process-it---tp18356949s22882p18356949.html Sent from the Camel - Users mailing list archive at Nabble.com.
