Can you provide a simple (complete) example? When I try the following XML with Camel 2.17.3, I get an IllegalArgumentException - so I can’t reproduce your results.
<bean id="bridgePropertyPlaceholder" class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"> <property name="location" value="classpath:route-invocation-counter.properties"/> </bean> <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="file:{{in.path}}?move=done/${bean:inboundCounter.incrementAndGet}-finished.txt"/> <to uri="mock://complete"/> </route> </camelContext> > On Jan 3, 2017, at 4:30 PM, Baltej Singh <bsi...@ra.rockwell.com> wrote: > > 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? >> >