Quinn,

I am using Camel 2.18.1 - 
Here is a simple example that shows the issues with various {{}}, 
=$simple{file:onlyname} and ${bean:...} combinations

------------fileNaming.properties ------------
trace=false
in.path=c:/temp/in
in.path0=c:/temp/test/in0
in.path1=c:/temp/test/in1
in.path2=c:/temp/test/in2
in.path3=c:/temp/test/in3
archive.path=c:/temp/test/archive/
common.fname.pattern=$simple{file:onlyname}
datetime.fname.pattern=$simple{date:now:yyyy-MM-dd_hh-mm-ss.SSS}-$simple{file:onlyname}
incounter.datetime.fname.pattern=${bean:inboundCounter.incrementAndGet}-$simple{date:now:yyyy-MM-dd_hh-mm-ss.SSS}

----------End fileNaming.properties ------------




<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:camel="http://camel.apache.org/schema/spring"; 
xmlns:p="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd        
http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd";>
        <bean 
class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer"
                id="bridgePropertyPlaceholder">
                <p:property name="location" 
value="classpath:fileNaming.properties" />
        </bean>
        
        <bean class="java.util.concurrent.atomic.AtomicLong" 
id="inboundCounter" />
          
        <camelContext id="testFileNamingContext" trace="{{trace}}"
                xmlns="http://camel.apache.org/schema/spring";>
                <route id="workingRoute">
                        <camel:description>This route produces: 
C:\temp\test\in\done\0-workingRoute-testNaming.xml</camel:description>
                        <from
                                
uri="file:c:/temp/test/in?moveFailed=.failed/$simple{file:onlyname}&amp;move=done/${bean:inboundCounter.getAndIncrement}-workingRoute-$simple{file:onlyname}"
 />
                        <log message="workingRoute" />
                        <to id="_toW" uri="mock://complete" />
                </route>
                <route id="errorRoute0">
                        <camel:description>This route produces: 
C:\temp\test\in0\done\inboundCounter.getAndIncrement-errorRoute0-testNaming.xml 
</camel:description>
                        <from
                                
uri="file:c:/temp/test/in0?move=done/${bean:inboundCounter.getAndIncrement}-errorRoute0-{{common.fname.pattern}}"
 />
                        <log message="errorRoute0" />
                        <to id="_to0" uri="mock://complete" />
                </route>
                
                <route id="errorRoute1">
                        <camel:description>This route produces:  
C:\temp\test\archive\inboundCounter.getAndIncrement-errorRoute1-testNaming.xml 
</camel:description>
                        <from
                                
uri="file:{{in.path1}}?moveFailed=.failed/$simple{file:onlyname}&amp;move={{archive.path}}/${bean:inboundCounter.getAndIncrement}-errorRoute1-$simple{file:onlyname}"
 />
                        <log message="errorRoute1" />
                        <to id="_to1" uri="mock://complete" />
                </route>
                <route id="errorRoute2">
                        <camel:description>This route produces:  
C:\temp\test\in2\done\inboundCounter.getAndIncrement-errorRoute2-testNaming.xml</camel:description>
                        <from
                                
uri="file:{{in.path2}}?move=done/${bean:inboundCounter.getAndIncrement}-errorRoute2-{{common.fname.pattern}}"
 />
                        <log message="errorRoute2" />
                        <to id="_to2" uri="mock://complete" />
                </route>
                                <route id="errorRoute3">
                        <camel:description>This route produces: 
C:\temp\test\archive\inboundCounter.getAndIncrement-errorRoute3-testNaming.xml 
</camel:description>
                        <from
                                
uri="file:{{in.path3}}?move={{archive.path}}/${bean:inboundCounter.getAndIncrement}-errorRoute3-{{common.fname.pattern}}"
 />
                        <log message="errorRoute3" />
                        <to id="_to3" uri="mock://complete" />
                </route>
        </camelContext>
</beans>





-----Original Message-----
From: Quinn Stevenson [mailto:qu...@pronoia-solutions.com] 
Sent: Wednesday, January 04, 2017 9:12 AM
To: users@camel.apache.org
Subject: Re: logging/incrementing simple counter

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.

Reply via email to