[ 
https://issues.apache.org/jira/browse/CAMEL-8460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14984134#comment-14984134
 ] 

Anestis Georgiadis commented on CAMEL-8460:
-------------------------------------------

Fix as implemented fails to properly initialize Camel context when Spring 
instantiates the application context as a child of another, parent context. 
This is the case for example when using spring-cloud-config. See:

http://projects.spring.io/spring-cloud/docs/1.0.3/spring-cloud.html#_the_bootstrap_application_context

As soon as spring-cloud-config is enabled in a camel spring boot application 
(i.e. include the org.springframework.cloud:spring-cloud-starter-config 
dependency) Camel context does not get to be initialized, as test expression at 
line 58 evaluates to false even for the initial context refresh event at 
application initialization.

The same problem will arise for any applications that use Spring Boot's fluent 
builder API (see: 
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-spring-application.html#boot-features-fluent-builder-api)
 that provides methods to programmatically create multiple contexts with a 
parent/child relationship.

> camel-spring-boot - Routes restart during startup
> -------------------------------------------------
>
>                 Key: CAMEL-8460
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8460
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-spring-boot
>    Affects Versions: 2.15.0
>            Reporter: Steven Marcus
>            Assignee: Henryk Konsek
>             Fix For: 2.15.3, 2.16.0
>
>
> The latest snapshot fixes the issue with my routes not being found.
> But there is still some undesirable behaviour with routes being restarted 
> during the context refresh.
> Here's the console log that shows shutdown handlers being run during app 
> startup... tia
> .   ____          _            __ _ _
> /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
> ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
> \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
> '  |____| .__|_| |_|_| |_\__, | / / / /
> =========|_|==============|___/=/_/_/_/
> :: Spring Boot ::        (v1.2.2.RELEASE)
> 2015-03-09 08:40:55.162  INFO 81935 --- [           main] 
> mediaroom.MRServicesApp                  : Starting MRServicesApp on 
> MBP13.local with PID 81935 
> (/Users/srnm/Documents/workspace-buffdubs/MRServices/target/classes started 
> by srnm in /Users/srnm/Documents/workspace-buffdubs/MRServices)
> 2015-03-09 08:40:55.165 DEBUG 81935 --- [           main] 
> mediaroom.MRServicesApp                  : Running with Spring Boot 
> v1.2.2.RELEASE, Spring v4.1.5.RELEASE
> ...
> [AppClassLoader@14dad5dc] info AspectJ Weaver Version 1.8.5 built on Thursday 
> Jan 29, 2015 at 01:03:58 GMT
> [AppClassLoader@14dad5dc] info register classloader 
> sun.misc.Launcher$AppClassLoader@14dad5dc
> [AppClassLoader@14dad5dc] info using configuration 
> /Users/srnm/Documents/workspace-buffdubs/MRServices/src/main/resources/META-INF/aop.xml
> [AppClassLoader@14dad5dc] info register aspect 
> com.amazonaws.services.simpleworkflow.flow.aspectj.AsynchronousAspect
> [AppClassLoader@14dad5dc] info register aspect 
> com.amazonaws.services.simpleworkflow.flow.aspectj.ExponentialRetryAspect
> [AppClassLoader@14dad5dc] warning javax.* types are not being woven because 
> the weaver option '-Xset:weaveJavaxPackages=true' has not been specified
> 2015-03-09 08:41:03.406  INFO 81935 --- [           main] 
> o.a.c.i.converter.DefaultTypeConverter   : Loaded 183 type converters
> 2015-03-09 08:41:04.345 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Post-processing CamelContext bean: 
> camel-1
> 2015-03-09 08:41:04.346 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Injecting following route into the 
> CamelContext: Routes: []
> 2015-03-09 08:41:04.394  INFO 81935 --- [           main] 
> o.a.camel.component.log.LogComponent     : Using custom Logger: 
> Logger[camelLogger]
> 2015-03-09 08:41:04.630 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Injecting following route into the 
> CamelContext: Routes: []
> 2015-03-09 08:41:04.632  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Apache Camel 2.15-SNAPSHOT 
> (CamelContext: camel-1) is starting
> 2015-03-09 08:41:04.633  INFO 81935 --- [           main] 
> o.a.c.m.ManagedManagementStrategy        : JMX is enabled
> 2015-03-09 08:41:04.932  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : AllowUseOriginalMessage is 
> enabled. If access to the original message is not needed, then its 
> recommended to turn this option off as it may improve performance.
> 2015-03-09 08:41:04.932  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : StreamCaching is not in use. If 
> using streams then its recommended to enable stream caching. See more details 
> at http://camel.apache.org/stream-caching.html
> 2015-03-09 08:41:05.089  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: roomSyncDLQ started and 
> consuming from: Endpoint[direct://roomSyncDLQ]
> 2015-03-09 08:41:05.090  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: syncAllRooms started and 
> consuming from: Endpoint[timer://roomSyncTimer?delay=3s&period=30s]
> 2015-03-09 08:41:05.092  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: writeRoomSync started and 
> consuming from: Endpoint[direct://writeRoomSync]
> 2015-03-09 08:41:05.095  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: updateRoomRepo started and 
> consuming from: Endpoint[direct://updateRoomRepo]
> 2015-03-09 08:41:05.096  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowDLQ 
> started and consuming from: Endpoint[direct://transcodeWorkflowDLQ]
> 2015-03-09 08:41:05.098  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowStart 
> started and consuming from: Endpoint[direct://transcodeWorkflowStart]
> 2015-03-09 08:41:05.106  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Total 6 routes, of which 6 is 
> started.
> 2015-03-09 08:41:05.108  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Apache Camel 2.15-SNAPSHOT 
> (CamelContext: camel-1) started in 0.474 seconds
> ...
> 2015-03-09 08:41:07.020 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Post-processing CamelContext bean: 
> camel-1
> 2015-03-09 08:41:07.022 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Injecting following route into the 
> CamelContext: Routes: [Route(roomSyncDLQ)[[From[direct://roomSyncDLQ]] -> 
> [To[browse:roomSyncDLQ]]], 
> Route(syncAllRooms)[[From[timer://roomSyncTimer?delay=3s&period=30s]] -> 
> [process[Processor@0x64910b2d], Split[{body} -> 
> [process[Processor@0x1247c72e], process[Processor@0x6fef75c6], 
> Multicast[[To[direct://writeRoomSync], To[direct://updateRoomRepo], 
> To[direct://transcodeWorkflowStart]]]]]]], 
> Route(writeRoomSync)[[From[direct://writeRoomSync]] -> 
> [Choice[[When[simple{${body.isNoChange}} -> [To[log://?level=OFF]]]] 
> Otherwise[[process[Processor@0x5f61e002], 
> Marshal[org.apache.camel.model.DataFormatDefinition@334540a0], 
> To[file:///Users/srnm/MR-reports/RoomSync?fileExist=Fail&fileName=%24%7Bfile%3Aonlyname.noext%7D.json&tempFileName=%24%7Bfile%3Aonlyname.noext%7D_%24%7Bfile%3Aname.ext%7D.inprogress]]]]]],
>  Route(updateRoomRepo)[[From[direct://updateRoomRepo]] -> [Split[{ognl(body, 
> asUpdatesJava)} -> [process[Processor@0x1f179f51], 
> To[browse:updateRoomRepoComplete]]]]]]
> 2015-03-09 08:41:07.023  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.029  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: roomSyncDLQ shutdown 
> complete, was consuming from: Endpoint[direct://roomSyncDLQ]
> 2015-03-09 08:41:07.029  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.031  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: roomSyncDLQ is stopped, was 
> consuming from: Endpoint[direct://roomSyncDLQ]
> 2015-03-09 08:41:07.032  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: roomSyncDLQ is shutdown and 
> removed, was consuming from: Endpoint[direct://roomSyncDLQ]
> 2015-03-09 08:41:07.034  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.035  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: syncAllRooms shutdown 
> complete, was consuming from: 
> Endpoint[timer://roomSyncTimer?delay=3s&period=30s]
> 2015-03-09 08:41:07.035  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.037  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: syncAllRooms is stopped, 
> was consuming from: Endpoint[timer://roomSyncTimer?delay=3s&period=30s]
> 2015-03-09 08:41:07.038  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: syncAllRooms is shutdown 
> and removed, was consuming from: 
> Endpoint[timer://roomSyncTimer?delay=3s&period=30s]
> 2015-03-09 08:41:07.039  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.039  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: writeRoomSync shutdown 
> complete, was consuming from: Endpoint[direct://writeRoomSync]
> 2015-03-09 08:41:07.039  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.040  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: writeRoomSync is stopped, 
> was consuming from: Endpoint[direct://writeRoomSync]
> 2015-03-09 08:41:07.041  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: writeRoomSync is shutdown 
> and removed, was consuming from: Endpoint[direct://writeRoomSync]
> 2015-03-09 08:41:07.042  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.042  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: updateRoomRepo shutdown 
> complete, was consuming from: Endpoint[direct://updateRoomRepo]
> 2015-03-09 08:41:07.043  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.044  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: updateRoomRepo is stopped, 
> was consuming from: Endpoint[direct://updateRoomRepo]
> 2015-03-09 08:41:07.045  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: updateRoomRepo is shutdown 
> and removed, was consuming from: Endpoint[direct://updateRoomRepo]
> 2015-03-09 08:41:07.057  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: roomSyncDLQ started and 
> consuming from: Endpoint[direct://roomSyncDLQ]
> 2015-03-09 08:41:07.091  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: syncAllRooms started and 
> consuming from: Endpoint[timer://roomSyncTimer?delay=3s&period=30s]
> 2015-03-09 08:41:07.113  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: writeRoomSync started and 
> consuming from: Endpoint[direct://writeRoomSync]
> 2015-03-09 08:41:07.129  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: updateRoomRepo started and 
> consuming from: Endpoint[direct://updateRoomRepo]
> 2015-03-09 08:41:07.129 DEBUG 81935 --- [           main] 
> o.a.camel.spring.boot.RoutesCollector    : Injecting following route into the 
> CamelContext: Routes: 
> [Route(transcodeWorkflowDLQ)[[From[direct://transcodeWorkflowDLQ]] -> 
> [To[browse:transcodeWorkflowDLQ]]], 
> Route(transcodeWorkflowStart)[[From[direct://transcodeWorkflowStart]] -> 
> [process[Processor@0x4a6a6a69]]]]
> 2015-03-09 08:41:07.130  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.130  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: transcodeWorkflowDLQ 
> shutdown complete, was consuming from: Endpoint[direct://transcodeWorkflowDLQ]
> 2015-03-09 08:41:07.130  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.131  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowDLQ is 
> stopped, was consuming from: Endpoint[direct://transcodeWorkflowDLQ]
> 2015-03-09 08:41:07.132  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowDLQ is 
> shutdown and removed, was consuming from: 
> Endpoint[direct://transcodeWorkflowDLQ]
> 2015-03-09 08:41:07.132  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Starting to graceful shutdown 1 
> routes (timeout 300 seconds)
> 2015-03-09 08:41:07.132  INFO 81935 --- [ - ShutdownTask] 
> o.a.camel.impl.DefaultShutdownStrategy   : Route: transcodeWorkflowStart 
> shutdown complete, was consuming from: 
> Endpoint[direct://transcodeWorkflowStart]
> 2015-03-09 08:41:07.133  INFO 81935 --- [           main] 
> o.a.camel.impl.DefaultShutdownStrategy   : Graceful shutdown of 1 routes 
> completed in 0 seconds
> 2015-03-09 08:41:07.133  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowStart is 
> stopped, was consuming from: Endpoint[direct://transcodeWorkflowStart]
> 2015-03-09 08:41:07.134  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowStart is 
> shutdown and removed, was consuming from: 
> Endpoint[direct://transcodeWorkflowStart]
> 2015-03-09 08:41:07.144  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowDLQ 
> started and consuming from: Endpoint[direct://transcodeWorkflowDLQ]
> 2015-03-09 08:41:07.150  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Route: transcodeWorkflowStart 
> started and consuming from: Endpoint[direct://transcodeWorkflowStart]
> 2015-03-09 08:41:07.151  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Apache Camel 2.15-SNAPSHOT 
> (CamelContext: camel-1) is starting
> 2015-03-09 08:41:07.151  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Total 6 routes, of which 6 is 
> started.
> 2015-03-09 08:41:07.151  INFO 81935 --- [           main] 
> o.a.camel.spring.SpringCamelContext      : Apache Camel 2.15-SNAPSHOT 
> (CamelContext: camel-1) started in 0.000 seconds
> 2015-03-09 08:41:07.164  INFO 81935 --- [           main] 
> mediaroom.MRServicesApp                  : Started MRServicesApp in 12.586 
> seconds (JVM running for 13.145)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to