当前位置: 首页 > 知识库问答 >
问题:

Apache Camel XML配置规则和限制

荆鸿畅
2023-03-14

我正在学习Camel,并试图将其与Spring Boothtml" target="_blank">应用程序集成。从我所读到的内容来看,配置驼峰路由(和其他相关实体)似乎有两种主要方法:1)通过Java DSL,或2)通过XML DSL。我们认为JavaDSL方法不适合我们,因为它似乎不允许动态路由定义。也许我错了?如果动态路由可以用JavaDSL或者其他什么来实现,我很想知道。

所以,我将重点放在用XML配置路由上,在这方面我们应该有更大的灵活性。其想法是,可以在部署时向给定的应用程序(或服务)提交一个构造的XML路由配置,该配置将指定该服务路由的细节。

我的第一个问题是,我们如何向Camel(或Spring Boot和Camel)指示配置文件的内容/位置?它是否期望特定的文件命名和/或项目位置,还是更灵活?它可以被分解成单独的文件吗?

顺便说一下,我们通过基于Javabean配置和application.yml文件的组合来配置Spring Boot应用程序。我们不使用XML进行Spring Boot配置。

我在Camel网站上找了很多地方(https://camel.apache.org/)但是还没有找到关于这个主题的很多信息。重点肯定支持JavaDSL方法。

共有1个答案

袁翔
2023-03-14

下面是一个Spring Boot的XML DSL示例https://github.com/apache/camel-spring-boot/tree/master/examples/camel-example-spring-boot-xml

您可以在Camel路由中使用属性占位符,可以通过Spring启动配置(例如application.properties等)进行配置

从Camel pov来看,XML或Java可以是同样动态的。您可以在运行时删除/添加路由。但请记住,在不知道变更是否有效的情况下,在生产中进行动态变更并不总是一件好事。

 类似资料:
  • 规则配置即根据系统内影响资源安全的条件设置相应的规则,如安全组的规则设置等,当资源匹配规则则表示资源的安全性较低,需要用户进行处理等。 规则配置即根据系统内影响资源安全的条件设置相应的规则,如安全组的规则设置等,当资源匹配规则则表示资源的安全性较低,需要用户进行处理等。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/安全检查/规则” 菜单项,进入规则配置页面。 修改规则

  • 规则配置即针对不同资源的使用情况设置对应的规则,当资源匹配规则代表资源需要按照费用优化进行优化。 规则即平台不同资源的使用情况等条件默认生成的对应规则,系统将根据扫描间隔全局扫描系统中的所有资源,当资源匹配规则则代表资源有优化的空间,将会显示在建议列表里等待用户处理。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “优化建议/成本优化/规则” 菜单项,进入规则配置页面。 修改规则配

  • 规则配置 添加激活注册中心后,可以获取当前注册中心中所有数据源的相关配置,包括数据分片,读写分离、Properties 配置等。 可以通过 YAML 格式对相关配置信息进行修改。 点击 + 按钮可以添加新的数据源和分片规则。

  • 查看老版本配置规则。 覆盖规则是Dubbo设计的在无需重启应用的情况下,动态调整RPC调用行为的一种能力。2.7.0版本开始,支持从服务和应用两个粒度来调整动态配置。 概览 请在服务治理控制台查看或修改覆盖规则。 应用粒度 # 将应用demo(key:demo)在20880端口上提供(side:provider)的所有服务(scope:application)的权重修改为1000(weight:1

  • 有时我们要对程序中一些 url 进行一个美化的操作,为了用户更方便的设置 url 美化功能,我们要应用下对我们应用的url 进行一个规则的设置, 如我们在portal应用下加上url.php配置文件,文件内容如下: <?php // +---------------------------------------------------------------------- // | ThinkC

  • 有时我们要对程序中一些 url 进行一个美化的操作,为了用户更方便的设置 url 美化功能,我们要应用下对我们应用的url 进行一个规则的设置, 如我们在portal应用下加上url.php配置文件,文件内容如下: <?php // +---------------------------------------------------------------------- // | ThinkC