- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
[Splitter] --B--> [Processor] --B--> [Aggregator] ---> [Sink] -6ren">
我想实现这样的目标:
[Source] --> [Splitter] --B--> [Processor] --B--> [Aggregator] ---> [Sink]
| ^
| |
|--------------------C-------------------|
经过几个包含业务逻辑的处理器后,一个特殊的生产者应该发出几条 B 类型的消息以及一条控制消息 C。
具有进一步业务逻辑的处理器将处理这些消息。
聚合器应该“收集”所有结果以及控制消息。
控制消息将基本上包含生成消息(B)的数量,因此聚合器可以知道是否
我知道,聚合器可以通过使用消息头来推断出拆分器期望的消息数量,但是如果没有消息到达它,它也会超时吗?
一般来说:Transformer 是否可以具有多个输入或输出 channel ?
最佳答案
第 2 个 -
标准聚合器模块有一个超时
参数(默认为50秒)。
它是通过消息组存储收割机实现的,该消息组存储收割机每隔超时秒运行一次 - 因此实际超时将高达 2 x 超时
,平均为 1.5 x 超时
.
聚合器现在有一个 group-timeout
属性,该属性比使用 reapear 更准确;它需要一个自定义聚合处理器才能使用它。它还具有group-timeout-expression
,因此超时可以根据运行时条件(例如当前组大小)而变化。
现在 1 -
没有标准机制可以将边带数据从一个模块发送到另一个模块。通常,模块之间通过设置消息头进行通信。这就是标准拆分器将信息发送到聚合器的方式(sequenceNumber
和 sequenceSize
header )。
您可以使用自定义 ReleaseStrategy
创建自定义聚合器处理器来使用其他 header 。
Generally speaking: is it possible to have Transformers with more than one input or output channel?
XD 不支持,但后续项目 (spring-cloud-stream) 支持将多个输入/输出绑定(bind)到应用程序。
关于java - 如何在 Spring XD 中向 "side channel"发送消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36471227/
我是一名优秀的程序员,十分优秀!