访问DSL中的camel属性

时间:2015-04-10 12:11:02

标签: apache-camel

我在camel context xml中定义了属性,如下所示。对于来自API公开的不同调用,这些属性会有所不同。

<util:properties id="abc-properties">
     <prop key="serviceId"></prop>
     <prop key="name"></prop>
 </util:properties>
<propertyPlaceholder location="ref:abc-properties" id="properties" />

在我的Java DSL中,我试图在'from'和'to'

中按如下方式访问这些属性
from(Identifier + ":" + abcName + "://{{serviceId}}")
to(Identifier + ":" + abcName + "://{{serviceId}}")

当我的DSL路由形成时,我看到'to'我没有获得serviceId的更新值。所有后续呼叫继续出现第一次出现的值。对于'from',我总是得到serviceId的更新值。

通过引用帖子Use Exchange Property in Camel DSL "to",我尝试使用了收件人列表,但这似乎也没有用。

我是否需要使用任何其他语法来访问'to'中的属性?

1 个答案:

答案 0 :(得分:0)

请试试这个:

from(
    Identifier + ":" + abcName + "://{{serviceId}}"
).recipientList(
    simple(Identifier + ":" + abcName + "://${properties:serviceId}")
)