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.ib...@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<cmoulli...@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&multiline=true&showException=true&showCaughtException=true&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.inau...@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.inau...@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.inau...@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.inau...@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.inau...@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 >