Camel自定义组件:执行两个不同的操作

时间:2014-02-06 17:38:55

标签: components apache-camel

我只想知道以下是否可以执行与自定义组件相关的操作

1)我创建了一个示例组件

somComponent://foo ---> what this foo refers to?can i have any string there?
 What does it denotes?

2)考虑以下路线

   from("some blah")
   .to(someCustomComponent://action1)
   .to(someCustomComponent://action2);

想法 - 我想对上面的内容执行两个不同的操作。有两种不同的方法。

上述情况可能吗?

1 个答案:

答案 0 :(得分:0)

Apache Camel中自定义组件的表示法可以描述如下:

someComponent://instance?parm1=foo&parm2=bar

instance部分可以是您想要唯一标识端点的任何内容。

您可以派生DefaultComponent并实施这些方法。 createEndpoint方法的签名如下所示:

protected Endpoint createEndpoint(final String uri, String remaining,
        Map<String, Object> parameters) throws Exception

所以对于端点 someComponent:// instance?parm1 = foo&amp; parm2 = bar

uri = someComponent://instance?parm1=foo&parm2=bar
remaining = instance
parmeters = (Map) parm1 -> foo, parm2 -> bar

因此,是的!您可以轻松地表示所需的action,例如作为参数,例如:

someComponent://instance?action=something