首先感谢目前参与 Camel 开发的人们,感谢他们付出的所有辛勤工作。
我正在寻找一些设计建议。
架构是这样的:我有一堆 Java 类,在实例化时需要它们相互连接并使用 Apache Camel 发送消息。设计约束要求我创建一个框架,以便所有路由信息、生产者、消费者、端点等都应该成为 camel-context.xml 的一部分。
个人应该有能力修改这样的文件并完全改变现有的路线,而无需提供 Java 代码。(不会提供 Java 代码,只会提供编译后的 Jar)
例如在一个设置中, Bean A -> Bean B-> Bean C-> 文件-> 电子邮件。 在另一个 Bean B->Bean A->Bean C->ftp->file->email 我们尝试了各种方法,但是如果原始 bean 没有实现为 Java DSL,消息率非常高,因为骆驼不断调用第一个示例中的 Bean A 和第二个示例中的 Bean B(它们是源)。
Bean A 和 Bean B 发起消息并且是事件驱动的。如果发生所需的事件,bean 会发出通知消息。
我的转换非常简单,根本不需要 Java DSL 的强大功能。总而言之,我有以下问题:
1)考虑到上述限制,我是否确保所有路由信息,包括目标地址,都是骆驼上下文文件的一部分?
2)有没有我可以看的例子来保持路由信息完全独立于java代码?
3)如何确保 Camel 不会不断调用原始 bean?
4) Camel 是否不断调用原始 bean 或它发送和消息的任何 bean,而不管 bean 在整个消息队列中的位置?
我已经用尽了尝试各种方法来设置它的选项。任何帮助,将不胜感激。