抽象端点的最佳方法是什么?

时间:2012-01-03 12:43:16

标签: java apache-camel

我想创建一个端点,这些端点可以在一个设置中本地,也可以在另一个设置中远程(通过jms)。

最好的方法是什么?

我想创建自己的组件'abstract',然后发送到abstract:foo,在一个设置中有抽象:foo表现得像direct:foo,在另一个设置中表现得像jms:queue:foo。

然而,我不确定这是烹饪方法以及如何准确地实现它(如何在“一个设置中表现得像X,而另一个表现得像Y”),而不是脆弱(依赖于不同的内容)每个设置中的META-INF / services / org / apache / camel / component / abstract)

那么,最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以使用camel PropertiesComponent。这允许在端点中使用占位符。见http://camel.apache.org/properties.html

E.g。 从( “{{myendpoint}}”)...

在另一种情况下,您可以使用设置A中的属性文件来定义“myendpoint = direct:foo”和“myendpoint = jms:queue:foo”。

答案 1 :(得分:0)

我发现最好的方法是使用我自己的模式名创建一个bean,让它根据属性创建所需的端点(DirectEndpoint或其他)