如何在SpringXD Stream Definition中将字符串与SpEL连接起来

时间:2015-06-01 02:17:55

标签: spring-integration spring-el spring-xd

我正在尝试创建一个流定义,该定义使用连接在一起的两个有效负载字段来创建连接字符串。

stream create --name blah --definition "http | gemfire-json-server --keyExpression=payload.getField('deviceId') + payload.getField('timestamp')" --deploy`

keyExpression中的连接片段不正确,应该让它以内联方式工作?

1 个答案:

答案 0 :(得分:2)

最简单的答案是基于String具有concat()方法的事实。所以,您的代码可能如下所示:

--keyExpression=payload.getField('deviceId').concat(payload.getField('timestamp'))

另一方面,您可以在这里引用XD参考手册:

  

如果参数值包含空格或|,则只需引用参数值字符。这里,变换处理器模块正在传递一个SpEL表达式,该表达式将应用于它遇到的任何数据:

      transform --expression='new StringBuilder(payload).reverse()'

请查看此chapter,了解有关引号的详细信息。