[ 
https://issues.apache.org/jira/browse/CAMEL-18689?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-18689.
---------------------------------
    Resolution: Fixed

Thanks for reporting and with a sample route

> Context reload doesn't update properties when using EndpointDSL
> ---------------------------------------------------------------
>
>                 Key: CAMEL-18689
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18689
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-endpointdsl
>    Affects Versions: 3.19.0
>            Reporter: Marco Bergsma
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 3.20.0
>
>
> My project is using the {*}DefaultContextReloadStrategy{*}.
> On a property change a method is called that triggers the *onReload* method 
> as described in the documentation
> {code:java}
> ContextReloadStrategy reload = 
> this.camelContext.hasService(ContextReloadStrategy.class);
> if (reload != null) {
>     // trigger reload
>     reload.onReload(this);
> } {code}
>  
> I currently have two routes running with endpoints that use a property:
> {code:java}
> from(timer("testTimer").period(property("timer.delay")))
>         .routeId("test-timer-route")
>         .log("Timer delay: {{timer.delay}}");
> from("timer://testTimer2?period={{timer.delay}}")
>         .routeId("test2-timer-route")
>         .log("Timer delay: {{timer.delay}}"); {code}
> After the reload only the second route now uses the updated *timer.delay* 
> property value in its endpoint.
> In both routes the log statement does use the updated property value.
>  
> Logs of the reload:
> {code:java}
> 2022-11-04 14:41:02.770  INFO 992 --- [TaskScheduler-1] 
> o.a.c.s.DefaultContextReloadStrategy     : Reloading CamelContext (camel-1) 
> triggered by: 
> org.company.software.integration.impl.SoftwareIntegrationAutoConfiguration$$EnhancerBySpringCGLIB$$2bbdb778@7abe9dda
> 2022-11-04 14:41:02.771 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 45 seconds)
> 2022-11-04 14:41:02.773 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.BaseExecutorServiceManager     : Created new ThreadPool for source: 
> org.apache.camel.impl.engine.DefaultShutdownStrategy@7e0c88e3 with name: 
> ShutdownTask. -> 
> org.apache.camel.util.concurrent.RejectableThreadPoolExecutor@6bf850e7[Running,
>  pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 
> 0][ShutdownTask]
> 2022-11-04 14:41:02.774 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : There are 1 routes to shutdown
> 2022-11-04 14:41:02.776 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Route: test2-timer-route suspended 
> and shutdown deferred, was consuming from: timer://testTimer2
> 2022-11-04 14:41:02.776 DEBUG 992 --- [ - ShutdownTask] 
> o.apache.camel.support.DefaultConsumer   : Stopping consumer: 
> Consumer[timer://testTimer2?period=10000]
> 2022-11-04 14:41:02.777 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Route: test2-timer-route shutdown 
> complete, was consuming from: timer://testTimer2
> 2022-11-04 14:41:02.777 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 6ms
> 2022-11-04 14:41:02.778 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=consumers,name=TimerConsumer(0x238d27ef)
> 2022-11-04 14:41:02.778 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: org.apache.camel:context=camel-1,type=processors,name="log2"
> 2022-11-04 14:41:02.779 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Stopped test2-timer-route 
> (timer://testTimer2)
> 2022-11-04 14:41:02.779 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 45 seconds)
> 2022-11-04 14:41:02.779 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : There are 1 routes to shutdown
> 2022-11-04 14:41:02.780 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Route: test-timer-route suspended 
> and shutdown deferred, was consuming from: timer://testTimer
> 2022-11-04 14:41:02.780 DEBUG 992 --- [ - ShutdownTask] 
> o.apache.camel.support.DefaultConsumer   : Stopping consumer: 
> Consumer[timer://testTimer?period=10000]
> 2022-11-04 14:41:02.781 DEBUG 992 --- [ - ShutdownTask] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Route: test-timer-route shutdown 
> complete, was consuming from: timer://testTimer
> 2022-11-04 14:41:02.781 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.engine.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 1ms
> 2022-11-04 14:41:02.781 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=consumers,name=TimerConsumer(0x3514df8d)
> 2022-11-04 14:41:02.781 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: org.apache.camel:context=camel-1,type=processors,name="log1"
> 2022-11-04 14:41:02.781 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Stopped test-timer-route 
> (timer://testTimer)
> 2022-11-04 14:41:02.782 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Routes stopped (stopped:2)
> 2022-11-04 14:41:02.782 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   :     Stopped test2-timer-route 
> (timer://testTimer2)
> 2022-11-04 14:41:02.782 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   :     Stopped test-timer-route 
> (timer://testTimer)
> 2022-11-04 14:41:02.782 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Shutting down consumer: 
> Consumer[timer://testTimer?period=10000]
> 2022-11-04 14:41:02.783 DEBUG 992 --- [TaskScheduler-1] 
> o.a.camel.support.TimerListenerManager   : Removed TimerListener: 
> org.apache.camel.management.mbean.ManagedSuspendableRoute@6768dc74
> 2022-11-04 14:41:02.784 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=routes,name="test-timer-route"
> 2022-11-04 14:41:02.784 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Shutdown test-timer-route 
> (timer://testTimer)
> 2022-11-04 14:41:02.784 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Removing: 
> timer://testTimer?period=10000 which was only in use by route: 
> test-timer-route
> 2022-11-04 14:41:02.784 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=endpoints,name="timer://testTimer\?period=10000"
> 2022-11-04 14:41:02.784 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Shutting down consumer: 
> Consumer[timer://testTimer2?period=10000]
> 2022-11-04 14:41:02.785 DEBUG 992 --- [TaskScheduler-1] 
> o.a.camel.support.TimerListenerManager   : Removed TimerListener: 
> org.apache.camel.management.mbean.ManagedSuspendableRoute@31dbca5d
> 2022-11-04 14:41:02.785 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=routes,name="test2-timer-route"
> 2022-11-04 14:41:02.785 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Shutdown test2-timer-route 
> (timer://testTimer2)
> 2022-11-04 14:41:02.785 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Removing: 
> timer://testTimer2?period=10000 which was only in use by route: 
> test2-timer-route
> 2022-11-04 14:41:02.785 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Unregistered MBean with 
> ObjectName: 
> org.apache.camel:context=camel-1,type=endpoints,name="timer://testTimer2\?period=10000"
> 2022-11-04 14:41:02.786 DEBUG 992 --- [TaskScheduler-1] 
> org.apache.camel.support.ResolverHelper  : Found ProcessorFactory: 
> org.apache.camel.processor.DefaultProcessorFactory via: 
> META-INF/services/org/apache/camel/processor-factory
> 2022-11-04 14:41:02.786 DEBUG 992 --- [TaskScheduler-1] 
> org.apache.camel.support.ResolverHelper  : Detected and using 
> ProcessorFactory: org.apache.camel.processor.DefaultProcessorFactory@46806dcc
> 2022-11-04 14:41:02.787 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Resolved text: Timer delay: 
> {{timer.delay}} -> Timer delay: 5000
> 2022-11-04 14:41:02.787 DEBUG 992 --- [TaskScheduler-1] 
> org.apache.camel.reifier.LogReifier      : LogName is not configured, using 
> route id as logName: test-timer-route
> 2022-11-04 14:41:02.787 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Warming up route id: 
> test-timer-route having autoStartup=true
> 2022-11-04 14:41:02.789 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=processors,name="log1"
> 2022-11-04 14:41:02.790 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=routes,name="test-timer-route"
> 2022-11-04 14:41:02.791 DEBUG 992 --- [TaskScheduler-1] 
> o.a.camel.support.TimerListenerManager   : Added TimerListener: 
> org.apache.camel.management.mbean.ManagedSuspendableRoute@6cb632c8
> 2022-11-04 14:41:02.791 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.m.JmxManagementLifecycleStrategy   : Load performance statistics 
> disabled
> 2022-11-04 14:41:02.791 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Route: test-timer-route >>> 
> Route[timer://testTimer?period=10000 -> null]
> 2022-11-04 14:41:02.791 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Starting consumer (order: 1002) on 
> route: test-timer-route
> 2022-11-04 14:41:02.792 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=consumers,name=TimerConsumer(0x1826e547)
> 2022-11-04 14:41:02.792 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Build consumer: 
> Consumer[timer://testTimer?period=10000]
> 2022-11-04 14:41:02.793 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Starting consumer: 
> Consumer[timer://testTimer?period=10000]
> 2022-11-04 14:41:02.793 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Route: test-timer-route started 
> and consuming from: timer://testTimer
> 2022-11-04 14:41:02.793 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Resolved text: 
> timer://testTimer2?period={{timer.delay}} -> timer://testTimer2?period=5000
> 2022-11-04 14:41:02.794 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultComponent  : Creating endpoint 
> uri=[timer://testTimer2?period=5000], path=[testTimer2]
> 2022-11-04 14:41:02.794 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : timer://testTimer2?period=5000 
> converted to endpoint: timer://testTimer2?period=5000 by component: 
> org.apache.camel.component.timer.TimerComponent@28d1b2f
> 2022-11-04 14:41:02.795 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=endpoints,name="timer://testTimer2\?period=5000"
> 2022-11-04 14:41:02.796 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.impl.engine.AbstractCamelContext   : Resolved text: Timer delay: 
> {{timer.delay}} -> Timer delay: 5000
> 2022-11-04 14:41:02.796 DEBUG 992 --- [TaskScheduler-1] 
> org.apache.camel.reifier.LogReifier      : LogName is not configured, using 
> route id as logName: test2-timer-route
> 2022-11-04 14:41:02.797 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Warming up route id: 
> test2-timer-route having autoStartup=true
> 2022-11-04 14:41:02.798 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=processors,name="log2"
> 2022-11-04 14:41:02.800 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=routes,name="test2-timer-route"
> 2022-11-04 14:41:02.800 DEBUG 992 --- [TaskScheduler-1] 
> o.a.camel.support.TimerListenerManager   : Added TimerListener: 
> org.apache.camel.management.mbean.ManagedSuspendableRoute@7fe67e41
> 2022-11-04 14:41:02.800 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.m.JmxManagementLifecycleStrategy   : Load performance statistics 
> disabled
> 2022-11-04 14:41:02.800 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Route: test2-timer-route >>> 
> Route[timer://testTimer2?period=5000 -> null]
> 2022-11-04 14:41:02.800 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Starting consumer (order: 1003) on 
> route: test2-timer-route
> 2022-11-04 14:41:02.801 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.management.DefaultManagementAgent  : Registered MBean with ObjectName: 
> org.apache.camel:context=camel-1,type=consumers,name=TimerConsumer(0x1b5dd42a)
> 2022-11-04 14:41:02.801 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Build consumer: 
> Consumer[timer://testTimer2?period=5000]
> 2022-11-04 14:41:02.801 DEBUG 992 --- [TaskScheduler-1] 
> o.apache.camel.support.DefaultConsumer   : Starting consumer: 
> Consumer[timer://testTimer2?period=5000]
> 2022-11-04 14:41:02.801 DEBUG 992 --- [TaskScheduler-1] 
> o.a.c.i.e.InternalRouteStartupManager    : Route: test2-timer-route started 
> and consuming from: timer://testTimer2 {code}
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to