Thanks for the reply Claus! Your help is very much appreciated. Perhaps I
will extend the camel code to allow for redelivery functionality using
try/catch semantics. Cheers!


Jeff


Claus Ibsen-2 wrote:
> 
> On Wed, May 13, 2009 at 2:59 PM, Claus Ibsen <claus.ib...@gmail.com>
> wrote:
>> On Tue, May 12, 2009 at 10:34 PM, turp1twin <jeff.tur...@ecloser.net>
>> wrote:
>>>
>>> Hi Claus,
>>>
>>> One last question... Is it possible to define retry/redelivery semantics
>>> when using try/catch DSL functionality?
>> Good question. As doCatch is basically also a OnException model it
>> should be in the DSL. But I have to check in the code as the try ..
>> catch .. finally is a bit special over regular routing.
>>
>> But I have been super busy with the new onCompletion DSL feature in
>> Camel 2.0 and Customer support.
>> So remind me later if I have not replied.
> I had a quick look.
> 
> You cannot do that.
> 
>>
>>>
>>>
>>> Jeff
>>>
>>>
>>> Claus Ibsen-2 wrote:
>>>>
>>>> On Tue, May 12, 2009 at 6:31 AM, turp1twin <jeff.tur...@ecloser.net>
>>>> wrote:
>>>>>
>>>>> Hi Claus,
>>>>>
>>>>> Thanks so much for the quick response! This helps me very much! Yes,
>>>>> basically, if the sending the email fails, I just want to log the
>>>>> error
>>>>> and
>>>>> end the route. I want the File consumer to complete and move/delete
>>>>> the
>>>>> file, since a new file will be created and processed at a later time
>>>>> with
>>>>> the same data since the FTP failed. Anyways, the info you provided
>>>>> below
>>>>> will be very helpful. I have created a Processor to handle the errors
>>>>> this
>>>>> evening, and that seems to work, however, I think the try catch
>>>>> semantics
>>>>> of
>>>>> the Java DSL will be cleaner. Should I pull down the 2.0-M2 snapshot?
>>>> 2.0m2 has not been released yet.
>>>>
>>>> You can try the SNAPSHOT instead as its released every day :)
>>>> http://camel.apache.org/download.html
>>>>
>>>> 2.0m2 is however scheduled to be released any time soon. Just the
>>>> person doing the release is very busy and Camel 1.6.1 has higher prio
>>>> to be released first.
>>>>
>>>>
>>>>> Cheers!
>>>>>
>>>>>
>>>>> Jeff
>>>>>
>>>>>
>>>>> Claus Ibsen-2 wrote:
>>>>>>
>>>>>> Hi
>>>>>>
>>>>>> Error handling is hard, especially for non transactional transports
>>>>>> such as File / FTP and the likes.
>>>>>>
>>>>>> From what I understand from your description is that you want to poll
>>>>>> files and upload them to SFTP.
>>>>>> And in case this fails an email should be sent. And if this email
>>>>>> fails then it should ????
>>>>>>
>>>>>> If you where doing this with regular Java you would probably use the
>>>>>> try .. catch .. finally.
>>>>>> And they also exists in Camel DSL
>>>>>>
>>>>>> .doTry()
>>>>>>    // send file to SFTP
>>>>>> .doCatch(Exception)
>>>>>>    .doTry()
>>>>>>    // send an email
>>>>>>    .doCatch()
>>>>>>    // log failed to send email
>>>>>>    .end()
>>>>>> .end()
>>>>>>
>>>>>> And they support handled(true) as well.
>>>>>> See more here
>>>>>> http://davsclaus.blogspot.com/2009/04/on-road-to-camel-20-try-catch-finally.html
>>>>>>
>>>>>> And here:
>>>>>> http://camel.apache.org/try-catch-finally.html
>>>>>>
>>>>>> However try .. catch .. finally have been overhauled in Camel 2.0m2
>>>>>> so
>>>>>> you have to wait for this release or use SNAPSHOT if you want.
>>>>>>
>>>>>>
>>>>>> Also the general error handling in Camel 2.0 have had a major
>>>>>> overhaul
>>>>>> as well. In fact I do believe that the problem with error handling,
>>>>>> when doing error handling has been fixed in 2.0m2 (SNAPSHOT) as well.
>>>>>>
>>>>>> So in your case if the SMTP failed then it would not "catch this" but
>>>>>> it should be fixed in 2.0m2.
>>>>>>
>>>>>>
>>>>>>
>>>>>> If you want to avoid consuming the same file again then use the
>>>>>> Idempotent Consumer EIP
>>>>>> http://camel.apache.org/idempotent-consumer.html
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, May 12, 2009 at 1:30 AM, turp1twin <jeff.tur...@ecloser.net>
>>>>>> wrote:
>>>>>>>
>>>>>>> I am new to Camel and am having a tough time getting my route to
>>>>>>> work
>>>>>>> properly. That being said, it is entirely possible that I am being a
>>>>>>> moron
>>>>>>> and have missed something simple.... However, I have searched the
>>>>>>> mailing
>>>>>>> list and have not found the answer I am looking for. Any help would
>>>>>>> be
>>>>>>> appreciated. I am using Camel 2.0-M1 and I am trying to test my
>>>>>>> various
>>>>>>> error handling scenarios. I am using a Java DSL with various
>>>>>>> endpoints
>>>>>>> configured in my Spring camel-context.xml.
>>>>>>>
>>>>>>> Endpoints:
>>>>>>>
>>>>>>> <camel:endpoint id="filePollingDir"
>>>>>>> uri="file:///Users/xxxxx/temp/polldir/"/>
>>>>>>>
>>>>>>> <camel:endpoint id="sFtpDestination"
>>>>>>>
>>>>>>> uri="sftp://r098...@sftp.someserver.com/upload?password=xxxxxx&amp;knownHostsFile=/Users/xxxxx/.ssh/known_hosts"/>
>>>>>>>
>>>>>>> <camel:endpoint id="failedTransferSmtp"
>>>>>>> uri="smtp://smtp.someserver.net?to=u...@mymail.net&amp;from=ad...@mymail.net"/>
>>>>>>>
>>>>>>> Route definition:
>>>>>>>
>>>>>>> from(getEndpoint("filePollingDir")).onException(Exception.class).maximumRedeliveries(0).handled(true).end()
>>>>>>> .to(getEndpoint("sFtpDestination")).onException(Exception.class).maximumRedeliveries(2).handled(true)
>>>>>>> .to(getEndpoint("failedTransferSmtp")).onException(Exception.class).maximumRedeliveries(0).handled(true).end();
>>>>>>>
>>>>>>>
>>>>>>> Basically what I am trying to achieve is that if the SFTP producer
>>>>>>> fails
>>>>>>> I
>>>>>>> want to send an email notifying a user that the transfer failed. I
>>>>>>> also
>>>>>>> want
>>>>>>> to handle the case where the smtp producer might also fail. I am
>>>>>>> getting
>>>>>>> to
>>>>>>> the SMTP endpoint (failedTransferSmtp) just fine, however, when it
>>>>>>> fails
>>>>>>> (as
>>>>>>> intended for this particular test) it causes the "filePollingDir"
>>>>>>> consumer
>>>>>>> to rollback and consume the source file again. This continues in a
>>>>>>> loop...
>>>>>>> Is this behavior intended? If so, can I configure the consumer to
>>>>>>> stop
>>>>>>> consuming the same file again? Again, I might be missing something
>>>>>>> simple,
>>>>>>> but any help would be appreciated. Cheers!
>>>>>>>
>>>>>>> Jeff
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/Error-Handling-tp23493625p23493625.html
>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>> Apache Camel Reference Card:
>>>>>> http://refcardz.dzone.com/refcardz/enterprise-integration
>>>>>> Interview with me:
>>>>>> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/Error-Handling-tp23493625p23496008.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> Apache Camel Committer
>>>>
>>>> Open Source Integration: http://fusesource.com
>>>> Blog: http://davsclaus.blogspot.com/
>>>> Twitter: http://twitter.com/davsclaus
>>>> Apache Camel Reference Card:
>>>> http://refcardz.dzone.com/refcardz/enterprise-integration
>>>> Interview with me:
>>>> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Error-Handling-tp23493625p23509898.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>> Apache Camel Reference Card:
>> http://refcardz.dzone.com/refcardz/enterprise-integration
>> Interview with me:
>> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> Apache Camel Reference Card:
> http://refcardz.dzone.com/refcardz/enterprise-integration
> Interview with me:
> http://architects.dzone.com/articles/interview-claus-ibsen-about?mz=7893-progress
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Error-Handling-tp23493625p23523791.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to