camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Message not processed in a TRANSACTED route where DELAYER is used
Date Tue, 25 Aug 2009 08:24:52 GMT
On Tue, Aug 25, 2009 at 10:10 AM, Charles Moulliard<cmoulliard@gmail.com> wrote:
> The delay defined in my example is 1 hour (600000) and not 1 minute (60000)
> ;-)
>

Crazy as you will hold a thread waiting for 1 hour.

> Do you confirm that the correct hypothesis is the case B and not the A ?

I do not understand what you want.

If you want precise timing then use a scheduler such as quartz.


>
> Regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
>
>
> On Tue, Aug 25, 2009 at 9:55 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
>
>> The delay occurs before the next processor, eg in your case .to
>>
>> It just delays, eg using 60000 will delay for 1 minute.
>>
>> On Tue, Aug 25, 2009 at 9:08 AM, Charles Moulliard<cmoulliard@gmail.com>
>> wrote:
>> > Quick question.
>> >
>> > When delayer or delay are used in route. Is it the process (defined after
>> > the delayer or delay) who will be processed every x seconds/minutes
>> > (depending on what has been defined) or the messages ?
>> >
>> > e.g.
>> >
>> > from(queue).delay(600000).to()
>> >
>> > Case A : processor is delayed every x seconds/minutes
>> >
>> > Route started at 8:00
>> > Message posted at 8:15, 8:40
>> > Messages will be processed at 9:00
>> >
>> > Case B : message are processed separately
>> >
>> > Route started at 8:00
>> > Message A : 8:15,
>> > Message B : 8:40
>> > Message A will be processed at 9:15
>> > Message B will be processed at 9:40
>> >
>> > Regards
>> >
>> > Charles Moulliard
>> > Senior Enterprise Architect
>> > Apache Camel Committer
>> >
>> > *****************************
>> > blog : http://cmoulliard.blogspot.com
>> >
>> >
>> > On Mon, Aug 24, 2009 at 5:29 PM, Claus Ibsen <claus.ibsen@gmail.com>
>> wrote:
>> >
>> >> :)
>> >>
>> >> A transaction also have a timeout, so you cannot expect that to work
>> >> as delayer = 2min will delay every single processing step with 2 min.
>> >> So to route to the end takes like 8 x 2 min.
>> >>
>> >> See about Delayer interceptor here:
>> >> http://camel.apache.org/delay-interceptor.html
>> >>
>> >> On Mon, Aug 24, 2009 at 4:48 PM, Charles Moulliard<cmoulliard@gmail.com
>> >
>> >> wrote:
>> >> > Hi,
>> >> >
>> >> > If a transacted route use delayer, then the process stops (it seems
>> that
>> >> the
>> >> > transaction is not committed ...  and that the message stays in the
>> queue
>> >> )
>> >> > in the step generating the file.
>> >> >
>> >> > Here is the syntax of the route :
>> >> >
>> >> >        <camel:route errorHandlerRef="txErrorHandlerReqNew"
>> >> > delayer="120000">
>> >> >
>> >> >            <camel:from ref="queueReportingEndpoint"/>
>> >> >            <camel:transacted ref="PROPAGATION_REQUIRED_NEW"
/>
>> >> >            <camel:choice>
>> >> >                <camel:when>
>> >> >                    <camel:simple>${body} != null</camel:simple>
>> >> >                    <camel:doTry>
>> >> >                        <camel:marshal ref="csvAuditBindyDataFormat"
/>
>> >> >                        <camel:to ref="fileReportingEndpoint"
/> //
>> ROUTE
>> >> > STOPS HERE
>> >> >                        <camel:doCatch>
>> >> >
>> >> > <camel:exception>java.lang.Exception</camel:exception>
>> >> >                            <camel:to
>> >> >
>> >>
>> uri="log:com.xpectis.x3s?level=INFO&amp;multiline=true&amp;showException=true&amp;showCaughtException=true&amp;showStackTrace=true"
>> >> > />
>> >> >                            <camel:rollback />
>> >> >                        </camel:doCatch>
>> >> >                    </camel:doTry>
>> >> >                </camel:when>
>> >> >            </camel:choice>
>> >> >        </camel:route>
>> >> >
>> >> > Here is the stack trace of the route when the delayer is not used :
>> >> >
>> >> > 16:32:59,651 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:8:1:1:1 >>>
>> >> > from(queuingservice://x3s:reporting) --> ref:PROPAGATION_REQUIRED_NEW,
>> >> > Pattern:InOnly, Headers:{JMSXGroupID=null, JMSReplyTo=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> JMSPriority=4,
>> >> > CamelBeanMultiParameterArray=false,
>> CamelFileNameOnly=OINP_Example.csv,
>> >> > CamelFileLength=892, CamelFileAbsolute=true, JMSRedelivered=false,
>> >> > CamelFileParent=d:\temp\data\oinp, CamelFileLastModified=Mon Jul 27
>> >> 16:33:12
>> >> > CEST 2009, JMSTimestamp=1251124379479,
>> >> JMSDestination=queue://x3s:reporting,
>> >> > JMSExpiration=0, CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileName=OINP_Example.csv, JMSDeliveryMode=2,
>> JMSCorrelationID=null,
>> >> > JMSType=null,
>> CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > origin=file, messageType=OINP,
>> >> > JMSMessageID=ID:dell-charles-1840-1251124287338-3:8:1:1:1},
>> >> > BodyType:java.util.ArrayList,
>> >> >
>> >>
>> Body:[{com.xpectis.x3s.model.backoffice.audit.in.InAudit=com.xpectis.x3s.model.backoffice.audit.in.InAudit@a0ee3f
>> >> > }]
>> >> > 16:32:59,651 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:8:1:1:1 >>>
>> >> > ref:PROPAGATION_REQUIRED_NEW --> Choice, Pattern:InOnly,
>> >> > Headers:{JMSXGroupID=null, JMSReplyTo=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> JMSPriority=4,
>> >> > CamelBeanMultiParameterArray=false,
>> CamelFileNameOnly=OINP_Example.csv,
>> >> > CamelFileLength=892, CamelFileAbsolute=true, JMSRedelivered=false,
>> >> > CamelFileParent=d:\temp\data\oinp, CamelFileLastModified=Mon Jul 27
>> >> 16:33:12
>> >> > CEST 2009, JMSTimestamp=1251124379479,
>> >> JMSDestination=queue://x3s:reporting,
>> >> > JMSExpiration=0, CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileName=OINP_Example.csv, JMSDeliveryMode=2,
>> JMSCorrelationID=null,
>> >> > JMSType=null,
>> CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > origin=file, messageType=OINP,
>> >> > JMSMessageID=ID:dell-charles-1840-1251124287338-3:8:1:1:1},
>> >> > BodyType:java.util.ArrayList,
>> >> >
>> >>
>> Body:[{com.xpectis.x3s.model.backoffice.audit.in.InAudit=com.xpectis.x3s.model.backoffice.audit.in.InAudit@a0ee3f
>> >> > }]
>> >> > 16:32:59,682 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:8:1:1:1 >>> Choice -->
Try,
>> >> > Pattern:InOnly, Headers:{JMSXGroupID=null, JMSReplyTo=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> JMSPriority=4,
>> >> > CamelBeanMultiParameterArray=false,
>> CamelFileNameOnly=OINP_Example.csv,
>> >> > CamelFileLength=892, CamelFileAbsolute=true, JMSRedelivered=false,
>> >> > CamelFileParent=d:\temp\data\oinp, CamelFileLastModified=Mon Jul 27
>> >> 16:33:12
>> >> > CEST 2009, JMSTimestamp=1251124379479,
>> >> JMSDestination=queue://x3s:reporting,
>> >> > JMSExpiration=0, CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileName=OINP_Example.csv, JMSDeliveryMode=2,
>> JMSCorrelationID=null,
>> >> > JMSType=null,
>> CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > origin=file, messageType=OINP,
>> >> > JMSMessageID=ID:dell-charles-1840-1251124287338-3:8:1:1:1},
>> >> > BodyType:java.util.ArrayList,
>> >> >
>> >>
>> Body:[{com.xpectis.x3s.model.backoffice.audit.in.InAudit=com.xpectis.x3s.model.backoffice.audit.in.InAudit@a0ee3f
>> >> > }]
>> >> > 16:32:59,698 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:8:1:1:1 >>> Try -->,
>> Pattern:InOnly,
>> >> > Headers:{JMSXGroupID=null, JMSReplyTo=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> JMSPriority=4,
>> >> > CamelBeanMultiParameterArray=false,
>> CamelFileNameOnly=OINP_Example.csv,
>> >> > CamelFileLength=892, CamelFileAbsolute=true, JMSRedelivered=false,
>> >> > CamelFileParent=d:\temp\data\oinp, CamelFileLastModified=Mon Jul 27
>> >> 16:33:12
>> >> > CEST 2009, JMSTimestamp=1251124379479,
>> >> JMSDestination=queue://x3s:reporting,
>> >> > JMSExpiration=0, CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileName=OINP_Example.csv, JMSDeliveryMode=2,
>> JMSCorrelationID=null,
>> >> > JMSType=null,
>> CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > origin=file, messageType=OINP,
>> >> > JMSMessageID=ID:dell-charles-1840-1251124287338-3:8:1:1:1},
>> >> > BodyType:java.util.ArrayList,
>> >> >
>> >>
>> Body:[{com.xpectis.x3s.model.backoffice.audit.in.InAudit=com.xpectis.x3s.model.backoffice.audit.in.InAudit@a0ee3f
>> >> > }]
>> >> > 16:33:00,151 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:8:1:1:1 >>>  -->
>> >> >
>> >>
>> file://d:/temp/data/reporting?fileName=%2F%24%7Bdate%3Anow%3AyyyyMMdd%7D%2F%24%7Bdate%3Anow%3Ahhmmss%7D.txt,
>> >> > Pattern:InOnly,
>> >> > Headers:{JMSMessageID=ID:dell-charles-1840-1251124287338-3:8:1:1:1,
>> >> > JMSReplyTo=null, CamelFileName=OINP_Example.csv,
>> >> JMSTimestamp=1251124379479,
>> >> > JMSCorrelationID=null, CamelFileParent=d:\temp\data\oinp,
>> JMSPriority=4,
>> >> > CamelFileNameOnly=OINP_Example.csv,
>> JMSDestination=queue://x3s:reporting,
>> >> > origin=file, JMSExpiration=0,
>> >> > CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> JMSDeliveryMode=2,
>> >> > CamelFileLength=892, CamelBeanMultiParameterArray=false,
>> >> > JMSRedelivered=false, JMSXGroupID=null, JMSType=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> messageType=OINP,
>> >> > CamelFileAbsolute=true,
>> CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileLastModified=Mon Jul 27 16:33:12 CEST 2009}, BodyType:byte[],
>> >> > Body:E9998,Unknown error,ERR,20093224-04:32:59,null,null,null
>> >> >
>> >> > But when DELAYER is enable in the route, the transaction is not
>> commited
>> >> :
>> >> >
>> >> > 16:46:37,073 | INFO  | tenerContainer-1 | TraceInterceptor
>> >>   |
>> >> > rg.apache.camel.processor.Logger   88 |
>> >> > ID:dell-charles-1840-1251124287338-3:17:1:1:1 >>> Choice -->
Try,
>> >> > Pattern:InOnly, Headers:{CamelFileNameOnly=OINP_Example.csv,
>> >> > JMSDestination=queue://x3s:reporting,
>> >> > CamelFileAbsolutePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelFileName=OINP_Example.csv, origin=file, JMSPriority=4,
>> >> > JMSXGroupID=null, JMSReplyTo=null,
>> >> > CamelFileRelativePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > CamelBeanMultiParameterArray=false, JMSRedelivered=false,
>> >> JMSDeliveryMode=2,
>> >> > JMSMessageID=ID:dell-charles-1840-1251124287338-3:17:1:1:1,
>> >> > CamelFileParent=d:\temp\data\oinp, JMSType=null, JMSExpiration=0,
>> >> > CamelFileLength=892, CamelFileLastModified=Mon Jul 27 16:33:12 CEST
>> 2009,
>> >> > CamelFileAbsolute=true, JMSCorrelationID=null, messageType=OINP,
>> >> > CamelFilePath=d:\temp\data\oinp\OINP_Example.csv,
>> >> > JMSTimestamp=1251124681885}, BodyType:java.util.ArrayList,
>> >> >
>> >>
>> Body:[{com.xpectis.x3s.model.backoffice.audit.in.InAudit=com.xpectis.x3s.model.backoffice.audit.in.InAudit@13e6f3
>> >> > }]
>> >> >
>> >> > Every 2 minutes, the delayer tries to reprocess the message without
>> >> success
>> >> >
>> >> > Regards,
>> >> >
>> >> >
>> >> > Charles Moulliard
>> >> > Senior Enterprise Architect
>> >> > Apache Camel Committer
>> >> >
>> >> > *****************************
>> >> > blog : http://cmoulliard.blogspot.com
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> Apache Camel Committer
>> >>
>> >> Open Source Integration: http://fusesource.com
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Twitter: http://twitter.com/davsclaus
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message