Return-Path: Delivered-To: apmail-camel-users-archive@www.apache.org Received: (qmail 52928 invoked from network); 26 Nov 2010 13:23:26 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 Nov 2010 13:23:26 -0000 Received: (qmail 35205 invoked by uid 500); 26 Nov 2010 13:23:25 -0000 Delivered-To: apmail-camel-users-archive@camel.apache.org Received: (qmail 35064 invoked by uid 500); 26 Nov 2010 13:23:25 -0000 Mailing-List: contact users-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@camel.apache.org Delivered-To: mailing list users@camel.apache.org Received: (qmail 35056 invoked by uid 99); 26 Nov 2010 13:23:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Nov 2010 13:23:24 +0000 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=FREEMAIL_FROM,SPF_HELO_PASS,SPF_NEUTRAL,T_TO_NO_BRKTS_FREEMAIL,URI_HEX X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: 216.139.236.158 is neither permitted nor denied by domain of andreasasmuss@gmail.com) Received: from [216.139.236.158] (HELO kuber.nabble.com) (216.139.236.158) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Nov 2010 13:23:19 +0000 Received: from sam.nabble.com ([192.168.236.26]) by kuber.nabble.com with esmtp (Exim 4.63) (envelope-from ) id 1PLyGR-0007t4-0h for users@camel.apache.org; Fri, 26 Nov 2010 05:22:59 -0800 Date: Fri, 26 Nov 2010 05:22:59 -0800 (PST) From: "Andreas A." To: users@camel.apache.org Message-ID: <1290777779014-3281265.post@n5.nabble.com> Subject: How to improve robustness of my routes? MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi I have an application that simply put does this: Ingoing: 1 - Fetch file from FTP->Local directory. 2 - Read file from Local directory, transform and split the file into several messages and deliver to JMS queue. Outgoing: 1 - Fetch messages from JMS queue as they are produced, transform and store in local directory one by one. 2 - Twice a day files are read from local directory, compiled into a list (one file) of messages and delivered to FTP. The problem is that when something goes wrong it is a nightmare to figure out what has been sent and recieved and what has not. The key issues are: We do not want duplicates input to JMS queue. We do not want duplicates output to FTP. And also traceability of the messages. There are several spots where this can go wrong at the moment. 1 - If JMS -> File fails, message is lost. Can I use the transaction manager here? 2 - If split fails from file -> JMS the messages already put to the JMS queue will stay, and file will rollback. If we try and run the file again, there will be duplicate messages on the queue. Can I use the transaction manager here? 3 - If the Aggregator fails, the route that called it does not rollback, all messages are lost, why aren't they being rolled back? Basically what I want is for either JMS messages or files to always roll completely back to the "queue" from where they were taken if something goes wrong. That way I can control state of the process based on their position in either a directory or a JMS queue. At the moment if there's an error I need to go through logs and see what has ended up where, and retrieve payloads from the logfiles. Are these routes design dead, or can I fix this somehow. -- View this message in context: http://camel.465427.n5.nabble.com/How-to-improve-robustness-of-my-routes-tp3281265p3281265.html Sent from the Camel - Users mailing list archive at Nabble.com.