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?

Reply via email to