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