java - 在 Camel-Spring-Boot 设置中从外部 JAR 配置 Camel 路由
问题描述
我的目标是有一种简单的方法来以动态方式运行带有几条路线的 Camel。理想情况下,我想运行这样的东西
java -jar camel.jar routes.xml
这允许在routes.xml
不更改 Jar 的情况下调整路线。但是,如果routes.xml
从相对文件系统位置读取文件,那也可以。
我使用camel-archetype-spring-boot
using生成了一个应用程序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。
解决方案
感谢@ClausIbsen:该文件是从 Jar 外部读取的:
camel.springboot.xmlRoutes = file:routes.xml
简单,一旦你知道:-)
推荐阅读
- android - 我的 android 应用程序无法从最新设备上的 playstore 下载
- android - 有没有办法缓存带有或不带有 Okhttp 的 POST 请求,但不删除 Retrofit 实现?
- html - 如何减少移动视图中网页的长度
- jasper-reports - jasper 报表在报表末尾创建的附加页面如何去掉?
- node.js - res.redirect() 是如何工作的?它是用来重定向到路由还是“views”文件夹中的视图?
- android - 如何将数据放入具有重复键但不同值的 jsoup 发布请求的哈希图中?
- c# - 具有基本身份验证的 C# 中的 HTTP 发布 XML 数据
- robotframework - 使用在 Selenium Grid 中工作的 Sikulilibrary 进行机器人框架测试?
- axapta - 如何根据另一个 StringEdit 值填充 StringEdit?
- c# - 如何将c#中的web api代码集成到sensenet?