【问题标题】:How to concatenate a string with SpEL in SpringXD Stream Definition如何在 SpringXD 流定义中将字符串与 SpEL 连接
【发布时间】:2015-06-01 02:17:54
【问题描述】:
我正在尝试创建一个流定义,该流定义使用连接在一起的两个有效负载字段来创建串联字符串。
stream create --name blah --definition "http | gemfire-json-server --keyExpression=payload.getField('deviceId') + payload.getField('timestamp')" --deploy`
keyExpression 中的连接部分不正确,应该如何使其内联工作?
【问题讨论】:
标签:
spring-integration
spring-el
spring-xd
【解决方案1】:
对您来说最简单的答案是基于 String 具有 concat() 方法的事实。因此,您的代码可能如下所示:
--keyExpression=payload.getField('deviceId').concat(payload.getField('timestamp'))
另一方面,这里引用了 XD 参考手册:
仅当参数值包含空格或 | 时才需要引用它们。特点。在这里,转换处理器模块被传递了一个 SpEL 表达式,该表达式将应用于它遇到的任何数据:
transform --expression='new StringBuilder(payload).reverse()'
请找到这个chapter,了解有关报价的更多信息。