首页 > 解决方案 > 在 Camel-Spring-Boot 设置中从外部 JAR 配置 Camel 路由

问题描述

我的目标是有一种简单的方法来以动态方式运行带有几条路线的 Camel。理想情况下,我想运行这样的东西

java -jar camel.jar routes.xml

这允许在routes.xml不更改 Jar 的情况下调整路线。但是,如果routes.xml从相对文件系统位置读取文件,那也可以。

我使用camel-archetype-spring-bootusing生成了一个应用程序mvn archetype:generate。我把这条线放在resources/application.properties

camel.springboot.xmlRoutes = classpath:routes.xml

它加载定义的路由resources/routes.xml。所以我可以配置路由,但每次我想调整一些东西时都必须重建 Jar。现在如何routes.xml从 Jar 外部加载?

也许我选择的路径对于获得我可以快速重新配置的 Camel 实例并不理想。如果有更好的方法,我想听听。我对所有的选择有点迷茫。

我在 Spring 手册中找到了Externalized Configuration,但这仅说明了如何更改属性。我还发现了一个关于如何排除配置 XML的问题。不幸的是,它没有说明如何加载外部 XML。

标签: javaspring-bootapache-camelconfig

解决方案


感谢@ClausIbsen:该文件是从 Jar 外部读取的:

camel.springboot.xmlRoutes = file:routes.xml

简单,一旦你知道:-)


推荐阅读