I am using camel 1.6.0. I have a quartz end point setup via Spring DSL for
performing an ETL process step as following:

<camel:route>
<camel:from uri="quartz://google_analytics/content/0/57/15/*/*/$" />
                        <camel:bean ref="gaClient">
                                <camel:onException>
                                        
<camel:exception>java.lang.Exception</camel:exception>
                                        <camel:redeliveryPolicy 
maximumRedeliveries="3"
                                                initialRedeliveryDelay="10000" 
/>
                                        <camel:handled>
                                                
<camel:constant>true</camel:constant>
                                        </camel:handled>
                        </camel:onException>
</camel:bean>
<camel:bean ref="gaImporter" />
</camel:route>

I notice that whenever my processor gaClient throws an exception, it doesn't
attempt the retry logic that is defined on the bean using the <onException>
clause. It goes to the DeadLetterChannel processor. I have the global error
handler and the redelivery beans defined as following:

<bean id="redeliveryPolicyConfig"
class="org.apache.camel.processor.RedeliveryPolicy">
        <property name="maximumRedeliveries" value="0"/>
    </bean>  
        
    <bean id="globalErrorHandler"
class="org.apache.camel.builder.DeadLetterChannelBuilder">
       <property name="defaultDeadLetterEndpointUri" value="sead:error"/>
       <property name="redeliveryPolicy" ref="redeliveryPolicyConfig"/>
    </bean>

What am I missing here on the retry for my processor. I wish the retrry
logic to be applied only for my 1st processor bean 'gaClient' and not the
2nd processor bean. Is this even possible using Spring DSL?

Thanks
Sriram
-- 
View this message in context: 
http://www.nabble.com/Quartz-redelivery-question-tp24083917p24083917.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to