Dear Quinn Yes - what you proposed works, but not if you substitute a property for the file path. Seems like a defect with substituting properties.
1. Following snippet works correctly: <from uri="file:c:/temp/in?move=done/${bean:inboundCounter.incrementAndGet}-finished.txt"/> Copy file testNaming.xml to file:c:/temp/in Correctly produces file called: C:\temp\in\done\2-finished.txt 2. But using property: in.path=c:/temp/in Using DSL: <from uri="file:{{in.path}}?move=done/${bean:inboundCounter.incrementAndGet}-finished.txt"/> This produces a folder called: C:\temp\in\done\inboundCounter.incrementAndGet-finished.txt With file: testNaming.xml -----Original Message----- From: Quinn Stevenson [mailto:qu...@pronoia-solutions.com] Sent: Friday, December 30, 2016 9:05 AM To: users@camel.apache.org Subject: Re: logging/incrementing simple counter Can you be a little more specific on how it isn’t working? I tried a simplified form of your file uri, and it seemed to work fine. <route> <from uri="file:target/data?move=done/${bean:inboundCounter.incrementAndGet}-finished.txt"/> <to uri="mock://complete" /> </route> > On Dec 29, 2016, at 5:42 PM, Baltej Singh <bsi...@ra.rockwell.com> wrote: > > Quinn, > > Works great on its own, but not in the file components move attribute! > <from id="_id2" > uri="file:{{in.path}}?moveFailed=.failed/$simple{file:onlyname}&move={{archive-from-erp.path}}/${bean:inboundCounter.incrementAndGet}-{{common.fname.pattern}}"/> > > > -----Original Message----- > From: Quinn Stevenson [mailto:qu...@pronoia-solutions.com] > Sent: Thursday, December 29, 2016 2:36 PM > To: users@camel.apache.org > Subject: Re: logging/incrementing simple counter > > I’d probably use and AtomicLong for this specific use case > > <bean id="execCounter" class="java.util.concurrent.atomic.AtomicLong" /> > > <camelContext xmlns="http://camel.apache.org/schema/spring"> > <route> > <from uri="direct://trigger" /> > <log message="Exec Counter: ${bean:execCounter.incrementAndGet}" /> > </route> > </camelContext> > >> On Dec 29, 2016, at 2:49 PM, Baltej Singh <bsi...@ra.rockwell.com> wrote: >> >> Following code works, but is there a better way to define the constant 1L in >> Spring DSL Camel context? >> >> <bean class="java.lang.Long" id="longOne"> >> <constructor-arg index="0" value="1" /> >> </bean> >> <bean class="java.lang.Long" id="execCount"> >> <constructor-arg index="0" value="1" /> >> </bean> >> >> >> <log id="_id1" >> message="${bean:execCount?method=sum(${bean:execCount.longValue}, >> ${bean:longOne.longValue})}" /> >> >> >> >> -----Original Message----- >> From: Baltej Singh >> Sent: Thursday, December 29, 2016 12:08 PM >> To: users@camel.apache.org >> Subject: RE: logging/incrementing simple counter >> >> Thanks Quin - worked like a charm! >> >> What the recommended way to set the value on this bean? >> What are the advantages/disadvantages of using groovy VS ${bean:..} syntax? >