我只想知道以下是否可以执行与自定义组件相关的操作
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);
想法 - 我想对上面的内容执行两个不同的操作。有两种不同的方法。
上述情况可能吗?
答案 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