Apache camel 在驼峰收件人列表中抑制分隔符选项

Apache camel 在驼峰收件人列表中抑制分隔符选项,apache-camel,blueprint-osgi,Apache Camel,Blueprint Osgi,我们有一个定制的camel处理器,需要从传入的请求有效负载xpath中调用并动态参数化它,但是处理器的URI包含“逗号”,因为它在内部进行SQL查询 <context id="mycontext"> <from uri="timer://com.arpit.timer?period=1000&amp;delay=1000&amp;repeatCount=5&amp;fixedRate=false&amp;daemon=false"/>

我们有一个定制的camel处理器,需要从传入的请求有效负载xpath中调用并动态参数化它,但是处理器的URI包含“逗号”,因为它在内部进行SQL查询

<context id="mycontext">
   <from uri="timer://com.arpit.timer?period=1000&amp;delay=1000&amp;repeatCount=5&amp;fixedRate=false&amp;daemon=false"/>
    <setBody>
        <simple> "here goes sample XML payload "</simple>
    </setBody>
    <setheader headerName="val1">
        <xpath resultType="java.lang.String"> "here goes my xpath" </xpath>
    </setheader>
 <!-- Now I call my custom processor with URI containing comma -->
    <recipientList delimiter="%">
        <simple>Select col1, col2, col3 from tablex where id = '${header.val1}'</simple>
    </recipientList>
</context>

“下面是示例XML负载”
“这是我的xpath”
从表x中选择col1、col2、col3,其中id='${header.val1}'
现在,只有当我们给出delimiter=“%”时,该场景才起作用。否则,它将失败,并出现无法找到端点col2的错误

是否有方法禁止收件人列表中的分隔符

问候,,
arbit.

否您不能取消分隔符。尽管您可以将其设置为不匹配的值,例如XXXXXXXXXX或其他任何值


我记录了一个票证,允许在未来的Camel版本中这样做:

通过了
org.apache.Camel.processor.RecipientList
类,类中的以下代码行使它看起来真的不能进行此抑制
public boolean sendToRecipientList(Exchange交换,对象recipientList,异步回调){Iterator iter=ObjectHelper.createIterator(recipientList,delimiter);….}
有人能确认我的理解是否正确吗?