作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设,我能够通过 Kafka 或 RabbitMQ 发送消息并使用 @StreamListener 使用它们。
Binders 是为 content-type = 'application/json' 配置的,所以我想可以在负载上添加条件。
我的要求是仅当字段的日期早于 now() 时才获取元素。当此条件为真时,将消耗所有其他元素。
例如,我希望是这样的:
@StreamListener(value = INPUT, condition = "data.startDate > now()")
public void onMessage(@Payload Data data) {
// ...
}
第一个问题是我收到错误:EL1008E:无法在类型为“byte[]”的对象上找到属性或字段“startDate”- 可能不是公共(public)的或无效?
最佳答案
这是正确的,因为有效载荷没有转换为任何类型,而是以 byte[]
的原始形式存在。请参阅this section特别是 “条件上下文中的内容类型协商” 子部分。
但是,对于您的情况,您可以简单地将表达式修改为类似于 new String(payload)....
,知道它始终是 byte[]
在转换之前
关于spring-boot - 如何在@StreamListener 中添加日期条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54483117/
我是一名优秀的程序员,十分优秀!