You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Marco Bergsma (Jira)" <ji...@apache.org> on 2022/11/04 13:52:00 UTC

[jira] [Created] (CAMEL-18689) Context reload doesn't update properties when using EndpointDSL

Marco Bergsma created CAMEL-18689:
-------------------------------------

             Summary: 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


My project is using the {*}DefaultContextReloadStrategy{*}.

On a property change a method is called that triggers the *onReload* method as described in the [documentation|[https://camel.apache.org/manual/context-reload.html]:]
{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)