如何在 SpringXD 流定义中将字符串与 SpEL 连接起来

How to concatenate a string with SpEL in SpringXD Stream Definition

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

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

keyExpression 中的串联部分不正确,应该怎样才能使其内联工作?

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

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

从另一边,这里引用XD参考手册:

It is only necessary to quote parameter values if they contain spaces or the | character. Here the transform processor module is being passed a SpEL expression that will be applied to any data it encounters:

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

请找到这个 chapter,以获取有关报价的更多信息。