Re: Camel Spring Boot unable to load routes from a jar file
Hi Are you sure about the versions as they are very old. On Fri, Feb 10, 2023 at 3:21 AM Harnish Patel wrote: > Hey everyone, > > I have a spring boot app. in which I my routes defined in .yaml files > under /resources/camel/ folder. > Spring boot version: 2.1.18.RELEASE > Camel version: 3.9.0 > > I have the specified following spring boot property in bootstrap.yml: > camel: > springboot: > routes-include-pattern: classpath:camel/*.yaml > > This works fine and the routes get loaded successfully when I run this > locally. Log output: > 2023-02-09 17:28:42.796 DEBUG 34104 --- [ main] > o.a.c.s.boot.SpringBootRoutesCollector : Loading additional RoutesBuilder > from: classpath:camel/*.yaml > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Getting resource URL for > package: camel/ with classloader: > jdk.internal.loader.ClassLoaders$AppClassLoader@4d7e1886 > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : URL from classloader: > file:/C:/source/connectors-core/target/classes/camel/ > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Decoded urlPath: > /C:/source/connectors-core/target/classes/camel/ with protocol: file > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Scanning for resources in: > /C:/source/connectors-core/target/classes/camel/ matching pattern: *.yaml > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Loading from directory using > file: C:\source\connectors-core\target\classes\camel > 2023-02-09 17:28:42.798 DEBUG 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Found resource: route1.yaml > matching pattern: *.yaml -> true > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > .e.DefaultResourceResolvers$FileResolver : Creating resource: > C:\source\connectors-core\target\classes\camel\route1.yaml from file system > 2023-02-09 17:28:42.801 DEBUG 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Found resource: route2.yaml > matching pattern: *.yaml -> true > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > .e.DefaultResourceResolvers$FileResolver : Creating resource: > C:\source\connectors-core\target\classes\camel\route2.yaml from file system > > But, it doesn't load these routes when deploying the app. as a jar file. > Log output: > Loading additional RoutesBuilder from: classpath:camel/*.yaml > 16:46:52.490 > Getting resource URL for package: camel/ with classloader: > org.springframework.boot.loader.LaunchedURLClassLoader@254989ff > 16:46:52.490 > URL from classloader: > jar:file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar!/BOOT-INF/classes!/camel/ > 16:46:52.491 > Decoded urlPath: > file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar!/BOOT-INF/classes!/camel/ > with protocol: jar > 16:46:52.491 > Scanning for resources in: > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar > matching pattern: *.yaml > 16:46:52.491 > Loading from jar using file: > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar > 16:46:53.094 > No additional RoutesBuilder discovered from: classpath:camel/*.yaml > > If I specify the spring boot property to be a single file (route1.yaml), > then the route is loaded fine. But specifying it as "*.yaml" doesn't work. > > Appreciate any pointers on how to resolve this issue. > > Thanks, > Harnish Patel > > -- Claus Ibsen - @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
RE: Camel Spring Boot unable to load routes from a jar file
Yes, they are old, but currently we are restricted to Spring Boot 2.1.18.RELEASE (and Java 8) due to the internal platform version. We plan to upgrade Spring Boot later this year, but for now we have to go with this version. -Original Message- From: Claus Ibsen Sent: Friday, February 10, 2023 1:54 AM To: users@camel.apache.org Subject: Re: Camel Spring Boot unable to load routes from a jar file EXTERNAL MESSAGE Hi Are you sure about the versions as they are very old. On Fri, Feb 10, 2023 at 3:21 AM Harnish Patel wrote: > Hey everyone, > > I have a spring boot app. in which I my routes defined in .yaml files > under /resources/camel/ folder. > Spring boot version: 2.1.18.RELEASE > Camel version: 3.9.0 > > I have the specified following spring boot property in bootstrap.yml: > camel: > springboot: > routes-include-pattern: classpath:camel/*.yaml > > This works fine and the routes get loaded successfully when I run this > locally. Log output: > 2023-02-09 17:28:42.796 DEBUG 34104 --- [ main] > o.a.c.s.boot.SpringBootRoutesCollector : Loading additional RoutesBuilder > from: classpath:camel/*.yaml > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Getting resource URL for > package: camel/ with classloader: > jdk.internal.loader.ClassLoaders$AppClassLoader@4d7e1886 > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : URL from classloader: > file:/C:/source/connectors-core/target/classes/camel/ > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Decoded urlPath: > /C:/source/connectors-core/target/classes/camel/ with protocol: file > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Scanning for resources in: > /C:/source/connectors-core/target/classes/camel/ matching pattern: *.yaml > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Loading from directory > using > file: C:\source\connectors-core\target\classes\camel > 2023-02-09 17:28:42.798 DEBUG 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Found resource: route1.yaml > matching pattern: *.yaml -> true > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > .e.DefaultResourceResolvers$FileResolver : Creating resource: > C:\source\connectors-core\target\classes\camel\route1.yaml from file system > 2023-02-09 17:28:42.801 DEBUG 34104 --- [ main] > c.i.e.DefaultPackageScanResourceResolver : Found resource: route2.yaml > matching pattern: *.yaml -> true > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > .e.DefaultResourceResolvers$FileResolver : Creating resource: > C:\source\connectors-core\target\classes\camel\route2.yaml from file > system > > But, it doesn't load these routes when deploying the app. as a jar file. > Log output: > Loading additional RoutesBuilder from: classpath:camel/*.yaml > 16:46:52.490 > Getting resource URL for package: camel/ with classloader: > org.springframework.boot.loader.LaunchedURLClassLoader@254989ff > 16:46:52.490 > URL from classloader: > jar:file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/work > er.jar!/BOOT-INF/classes!/camel/ > 16:46:52.491 > Decoded urlPath: > file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.j > ar!/BOOT-INF/classes!/camel/ > with protocol: jar > 16:46:52.491 > Scanning for resources in: > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar > matching pattern: *.yaml > 16:46:52.491 > Loading from jar using file: > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar > 16:46:53.094 > No additional RoutesBuilder discovered from: classpath:camel/*.yaml > > If I specify the spring boot property to be a single file > (route1.yaml), then the route is loaded fine. But specifying it as "*.yaml" > doesn't work. > > Appreciate any pointers on how to resolve this issue. > > Thanks, > Harnish Patel > > -- Claus Ibsen - @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
Re: Camel Spring Boot unable to load routes from a jar file
Hi We have fixed something about loading from within fatjar's of spring boot, but that is very likely in newer Camel releases. yaml-dsl is also evolving over that period so using an old 3.9 version with yaml is not recommended. I suggest to use Java DSL if you must use that old version. Also note that Camel 3.14.x supports Java 8, so you could maybe try that release. I am however not sure if Camel 3.14.x runs on SB 2.1.x On Fri, Feb 10, 2023 at 4:22 PM Harnish Patel wrote: > Yes, they are old, but currently we are restricted to Spring Boot > 2.1.18.RELEASE (and Java 8) due to the internal platform version. We plan > to upgrade Spring Boot later this year, but for now we have to go with this > version. > > -Original Message- > From: Claus Ibsen > Sent: Friday, February 10, 2023 1:54 AM > To: users@camel.apache.org > Subject: Re: Camel Spring Boot unable to load routes from a jar file > > EXTERNAL MESSAGE > > > > > Hi > > Are you sure about the versions as they are very old. > > On Fri, Feb 10, 2023 at 3:21 AM Harnish Patel > wrote: > > > Hey everyone, > > > > I have a spring boot app. in which I my routes defined in .yaml files > > under /resources/camel/ folder. > > Spring boot version: 2.1.18.RELEASE > > Camel version: 3.9.0 > > > > I have the specified following spring boot property in bootstrap.yml: > > camel: > > springboot: > > routes-include-pattern: classpath:camel/*.yaml > > > > This works fine and the routes get loaded successfully when I run this > > locally. Log output: > > 2023-02-09 17:28:42.796 DEBUG 34104 --- [ main] > > o.a.c.s.boot.SpringBootRoutesCollector : Loading additional > RoutesBuilder > > from: classpath:camel/*.yaml > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Getting resource URL for > > package: camel/ with classloader: > > jdk.internal.loader.ClassLoaders$AppClassLoader@4d7e1886 > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : URL from classloader: > > file:/C:/source/connectors-core/target/classes/camel/ > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Decoded urlPath: > > /C:/source/connectors-core/target/classes/camel/ with protocol: file > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Scanning for resources in: > > /C:/source/connectors-core/target/classes/camel/ matching pattern: *.yaml > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Loading from directory > > using > > file: C:\source\connectors-core\target\classes\camel > > 2023-02-09 17:28:42.798 DEBUG 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Found resource: route1.yaml > > matching pattern: *.yaml -> true > > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > > .e.DefaultResourceResolvers$FileResolver : Creating resource: > > C:\source\connectors-core\target\classes\camel\route1.yaml from file > system > > 2023-02-09 17:28:42.801 DEBUG 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Found resource: route2.yaml > > matching pattern: *.yaml -> true > > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > > .e.DefaultResourceResolvers$FileResolver : Creating resource: > > C:\source\connectors-core\target\classes\camel\route2.yaml from file > > system > > > > But, it doesn't load these routes when deploying the app. as a jar file. > > Log output: > > Loading additional RoutesBuilder from: classpath:camel/*.yaml > > 16:46:52.490 > > Getting resource URL for package: camel/ with classloader: > > org.springframework.boot.loader.LaunchedURLClassLoader@254989ff > > 16:46:52.490 > > URL from classloader: > > jar:file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/work > > er.jar!/BOOT-INF/classes!/camel/ > > 16:46:52.491 > > Decoded urlPath: > > file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.j > > ar!/BOOT-INF/classes!/camel/ > > with protocol: jar > > 16:46:52.491 > > Scanning for resources in: > > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar > > matching pattern: *.yaml > > 16:46:52.491 > > Loading from jar using file: > > /opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker.jar >
RE: Camel Spring Boot unable to load routes from a jar file
Thanks Claus! Appreciate your response. I will try out the 3.14.7 version as well. -Original Message- From: Claus Ibsen Sent: Saturday, February 11, 2023 2:30 AM To: users@camel.apache.org Subject: Re: Camel Spring Boot unable to load routes from a jar file EXTERNAL MESSAGE Hi We have fixed something about loading from within fatjar's of spring boot, but that is very likely in newer Camel releases. yaml-dsl is also evolving over that period so using an old 3.9 version with yaml is not recommended. I suggest to use Java DSL if you must use that old version. Also note that Camel 3.14.x supports Java 8, so you could maybe try that release. I am however not sure if Camel 3.14.x runs on SB 2.1.x On Fri, Feb 10, 2023 at 4:22 PM Harnish Patel wrote: > Yes, they are old, but currently we are restricted to Spring Boot > 2.1.18.RELEASE (and Java 8) due to the internal platform version. We > plan to upgrade Spring Boot later this year, but for now we have to go > with this version. > > -Original Message- > From: Claus Ibsen > Sent: Friday, February 10, 2023 1:54 AM > To: users@camel.apache.org > Subject: Re: Camel Spring Boot unable to load routes from a jar file > > EXTERNAL MESSAGE > > > > > Hi > > Are you sure about the versions as they are very old. > > On Fri, Feb 10, 2023 at 3:21 AM Harnish Patel > wrote: > > > Hey everyone, > > > > I have a spring boot app. in which I my routes defined in .yaml > > files under /resources/camel/ folder. > > Spring boot version: 2.1.18.RELEASE > > Camel version: 3.9.0 > > > > I have the specified following spring boot property in bootstrap.yml: > > camel: > > springboot: > > routes-include-pattern: classpath:camel/*.yaml > > > > This works fine and the routes get loaded successfully when I run > > this locally. Log output: > > 2023-02-09 17:28:42.796 DEBUG 34104 --- [ main] > > o.a.c.s.boot.SpringBootRoutesCollector : Loading additional > RoutesBuilder > > from: classpath:camel/*.yaml > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Getting resource URL for > > package: camel/ with classloader: > > jdk.internal.loader.ClassLoaders$AppClassLoader@4d7e1886 > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : URL from classloader: > > file:/C:/source/connectors-core/target/classes/camel/ > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Decoded urlPath: > > /C:/source/connectors-core/target/classes/camel/ with protocol: file > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Scanning for resources in: > > /C:/source/connectors-core/target/classes/camel/ matching pattern: *.yaml > > 2023-02-09 17:28:42.797 TRACE 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Loading from directory > > using > > file: C:\source\connectors-core\target\classes\camel > > 2023-02-09 17:28:42.798 DEBUG 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Found resource: > > route1.yaml matching pattern: *.yaml -> true > > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > > .e.DefaultResourceResolvers$FileResolver : Creating resource: > > C:\source\connectors-core\target\classes\camel\route1.yaml from file > system > > 2023-02-09 17:28:42.801 DEBUG 34104 --- [ main] > > c.i.e.DefaultPackageScanResourceResolver : Found resource: > > route2.yaml matching pattern: *.yaml -> true > > 2023-02-09 17:28:42.801 TRACE 34104 --- [ main] > > .e.DefaultResourceResolvers$FileResolver : Creating resource: > > C:\source\connectors-core\target\classes\camel\route2.yaml from file > > system > > > > But, it doesn't load these routes when deploying the app. as a jar file. > > Log output: > > Loading additional RoutesBuilder from: classpath:camel/*.yaml > > 16:46:52.490 > > Getting resource URL for package: camel/ with classloader: > > org.springframework.boot.loader.LaunchedURLClassLoader@254989ff > > 16:46:52.490 > > URL from classloader: > > jar:file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/wo > > rk > > er.jar!/BOOT-INF/classes!/camel/ > > 16:46:52.491 > > Decoded urlPath: > > file:/opt/wf/vds-data/workers/app/c.w.c/connectors-core/1.0.0/worker > >