Spring 在ApacheCamel中写入数组并获取元素的长度

Spring 在ApacheCamel中写入数组并获取元素的长度,spring,apache-camel,Spring,Apache Camel,作为阿帕奇骆驼队的一名noob,我有两个问题 我正在尝试使用camel解组csv文件,我的代码是 稍后,我需要将这些值转发到另一条路径,在那里我可以像这样访问它们 ${body[0]}…${body[1]}。。等等 我如何确定元素是否存在,比如 ${body[0]}!=null. 我能够使用各种分隔符标记输入文件。例如,如果我尝试获得与上面相同的结果,那么如何将所有令牌保存到某种数组中,以便在获得该数组后,可以在某个数组中使用它 请注意,我不能在这里使用Java,我只能使用SpringDSL

作为阿帕奇骆驼队的一名noob,我有两个问题

  • 我正在尝试使用camel解组csv文件,我的代码是 稍后,我需要将这些值转发到另一条路径,在那里我可以像这样访问它们

    ${body[0]}…${body[1]}。。等等

  • 我如何确定元素是否存在,比如

    ${body[0]}!=null. 
    
  • 我能够使用各种分隔符标记输入文件。例如,如果我尝试获得与上面相同的结果,那么如何将所有令牌保存到某种数组中,以便在获得该数组后,可以在某个数组中使用它
    请注意,我不能在这里使用Java,我只能使用SpringDSL

    访问列表的大小:

    ${body.size()}
    

    访问
    java.util.list
    类型的列表元素的大小:

    ${body[0].size()}
    
    访问数组的长度:

    ${body.length}
    
    但是,访问列表元素的数组长度无法正常工作(至少对于Camel 2.13.1):

    这将返回
    正文的大小,而不是
    正文[0]
    的长度。您可以使用
    groovy

    <groovy>request.body[0].length</groovy>
    
    编辑: 无法使用
    simple
    访问列表元素的数组长度是一个错误。我打开了一个Jira问题:

    编辑:
    现在已修复。

    访问列表的大小:

    ${body.size()}
    

    访问
    java.util.list
    类型的列表元素的大小:

    ${body[0].size()}
    
    访问数组的长度:

    ${body.length}
    
    但是,访问列表元素的数组长度无法正常工作(至少对于Camel 2.13.1):

    这将返回
    正文的大小,而不是
    正文[0]
    的长度。您可以使用
    groovy

    <groovy>request.body[0].length</groovy>
    
    编辑: 无法使用
    simple
    访问列表元素的数组长度是一个错误。我打开了一个Jira问题:

    编辑:
    现在已修复。

    很抱歉造成混淆,我的意思是假设元素存在,每个元素的长度。例如,在我的csv文件中,如果我有data1、data2、data3,那么我必须能够识别${body[2]}.length==0。@Krishna CAMEL-7478现在已修复。我为混淆道歉,我的意思是假设元素存在,即每个元素的长度。例如,在我的csv文件中,如果我有data1、data2、data3,那么我必须能够识别${body[2]}.length==0。@Krishna CAMEL-7478现在已修复。