You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Charles Moulliard <cm...@gmail.com> on 2009/08/24 16:48:31 UTC

Message not processed in a TRANSACTED route where DELAYER is used

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

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Claus Ibsen <cl...@gmail.com>.
Camel provides 2 kind of delayers

a)
.delay in the EIP (eg you insert .delay somewhere in the route)
This will delay when a message reached this point and at this point only.

So if a message arrives at 08:13:57 and you have a delay of 30000 (30 sec)
then the message is delayed for 30 sec using Thread.sleep.
So that means the message is continued to be routed at 08:14:27

The .delay() has nothing to do when a message arrives or is consumed
from a JMS queue or whatever.
Its whenever a message arriving to itself the delayer is triggered.


b)
a delay interceptor that you set in the <camelContext> as an attribute.
Its like a global delayer that can be used for development / testing
where you want to "slow things down"



On Tue, Aug 25, 2009 at 10:32 AM, Charles Moulliard<cm...@gmail.com> wrote:
> My idea was not at all to use delay or delayer but quartz or timer. As I
> have been confronted to problems with the following route :
>
> from ( quartz)
> . to (activemq:queue:A)
>
> I have tested the option of delayer/delay which was not the my first choice.
> In the meantime, I try pollEnrich (see my last post) about that.
>
> My question is quite simple : I would like to know if the delay is added for
> each message individually ?
> ex. I put a message in a queue where we have a delay of 10 minutes, so the
> message will be processed by the next endpoint 10 minutes after the post of
> the message in the queue. If the message is posted at 8:00, the next
> endpoint will process it at 8:10. This description corresponds to the Case B
> (described in my previous post)
>
> Regards,
>
> Charles Moulliard
> Senior Enterprise Architect
> Apache Camel Committer
>
> *****************************
> blog : http://cmoulliard.blogspot.com
>
>
> On Tue, Aug 25, 2009 at 10:24 AM, Claus Ibsen <cl...@gmail.com> wrote:
>
>> On Tue, Aug 25, 2009 at 10:10 AM, Charles Moulliard<cm...@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 <cl...@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 <cl...@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
>>
>



-- 
Claus Ibsen
Apache Camel Committer

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

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Charles Moulliard <cm...@gmail.com>.
My idea was not at all to use delay or delayer but quartz or timer. As I
have been confronted to problems with the following route :

from ( quartz)
. to (activemq:queue:A)

I have tested the option of delayer/delay which was not the my first choice.
In the meantime, I try pollEnrich (see my last post) about that.

My question is quite simple : I would like to know if the delay is added for
each message individually ?
ex. I put a message in a queue where we have a delay of 10 minutes, so the
message will be processed by the next endpoint 10 minutes after the post of
the message in the queue. If the message is posted at 8:00, the next
endpoint will process it at 8:10. This description corresponds to the Case B
(described in my previous post)

Regards,

Charles Moulliard
Senior Enterprise Architect
Apache Camel Committer

*****************************
blog : http://cmoulliard.blogspot.com


On Tue, Aug 25, 2009 at 10:24 AM, Claus Ibsen <cl...@gmail.com> wrote:

> On Tue, Aug 25, 2009 at 10:10 AM, Charles Moulliard<cm...@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 <cl...@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 <cl...@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
>

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Claus Ibsen <cl...@gmail.com>.
On Tue, Aug 25, 2009 at 10:10 AM, Charles Moulliard<cm...@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 <cl...@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<cm...@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 <cl...@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

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Charles Moulliard <cm...@gmail.com>.
The delay defined in my example is 1 hour (600000) and not 1 minute (60000)
;-)

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

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 <cl...@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<cm...@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 <cl...@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
>

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Claus Ibsen <cl...@gmail.com>.
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<cm...@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 <cl...@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<cm...@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

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Charles Moulliard <cm...@gmail.com>.
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 <cl...@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<cm...@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
>

Re: Message not processed in a TRANSACTED route where DELAYER is used

Posted by Claus Ibsen <cl...@gmail.com>.
:)

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<cm...@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