【问题标题】:Apache camel routes in XML not loaded in spring boot春季启动时未加载 XML 中的 Apache 骆驼路由
【发布时间】:2021-09-05 00:15:42
【问题描述】:

我们将 Apache Camel 版本从 3.2 迁移到 3.9.0。 在那之后, XML中配置的路由没有加载。

我已将应用程序 YAML 中的属性从 xml路由到 apache.springboot.routes-include-pattern=classpath:camel/routes/*.xml。 但是行为很奇怪, 当我使用intellij运行时,在本地, 在 XML 中配置的所有路由都已加载。 但是一旦部署了更改, 只加载 bean 配置的路由。

记录器说:
没有从以下位置发现其他 RoutesBuilder:classpath:camel/routes/*.xml

您能否就可能存在的问题提供意见。

如果这个问题无法解决, 有没有其他方法可以从 XML 配置路由。

【问题讨论】:

  • 在 Camel 3.10.0 和 3.11.0 发布时试用(下周某个时间)
  • 无法升级 Camel 版本,客户不推荐。但最后我能够在本地复制。从 IDE 没有复制问题,但是一旦我打包 jar 并运行 jar,xml 加载就是一个问题。

标签: spring spring-boot apache-camel spring-camel


【解决方案1】:

从 2.x 迁移到 3.x 时,我遇到了类似的问题。我的 XML 路由文件夹似乎没有被扫描。我发现我需要根据https://camel.apache.org/manual/camel-3x-upgrade-guide-3_8.html#_configuration_changes 将设置从“camel.springboot.xml-routes”迁移到“camel.springboot.routes-include-pattern”。在您的情况下,设置应该是:

camel.springboot.routes-include-pattern=class-path:camel/routes/*.xml

【讨论】:

  • 谢谢。我们已迁移到较新的版本,此问题已解决。
【解决方案2】:

尝试使用较新的版本 3.11.0,希望它能解决问题。此外,如果您对 JAVA DSL 感到满意,那么就开始使用它,在 3.0 版骆驼推荐使用 Java DSL over XML 之后,这将避免所有这些配置问题。

【讨论】:

  • 我们计划将来迁移到 java DSL。为了立即修复,我们在 java 中手动加载了 XML。
猜你喜欢
  • 1970-01-01
  • 2018-02-17
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-03
  • 1970-01-01
相关资源
最近更新 更多