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