Java 如何在“电子邮件”上发送消息;侧沟;在春天XD?

Java 如何在“电子邮件”上发送消息;侧沟;在春天XD?,java,spring,spring-integration,spring-xd,Java,Spring,Spring Integration,Spring Xd,我想实现这样的目标: [Source] --> [Splitter] --B--> [Processor] --B--> [Aggregator] ---> [Sink] | ^ | | |--------------------C-

我想实现这样的目标:

[Source] --> [Splitter] --B--> [Processor] --B-->  [Aggregator] ---> [Sink]
              |                                        ^
              |                                        |
              |--------------------C-------------------|
在包含业务逻辑的几个处理器之后, 特殊生产者应发出多条类型为B的消息以及一条控制消息C

具有进一步业务逻辑的处理器将处理这些消息

聚合器应该“收集”所有结果以及控制消息

控制消息基本上包含生成消息的数量(B),因此聚合器可以知道

  • B的所有预期消息都已到达
  • 发生超时
  • 我知道,聚合器可以通过使用消息头从拆分器推断预期的消息数量,但是如果没有消息到达它,它还会超时吗


    一般来说:有可能有多个输入或输出通道的变压器吗?

    2优先-

    标准聚合器模块有一个
    超时
    参数(默认为50秒)

    它是通过每超时秒运行一次的消息组存储收割机实现的,因此实际超时将达到
    2倍超时
    ,平均为
    1.5倍超时

    聚合器现在有一个
    组超时
    属性,比使用reapear更准确;它需要一个定制的聚合处理器来使用它。它还有一个
    组超时表达式
    ,因此超时可以根据运行时条件(例如当前组大小)而变化

    现在1-

    没有标准机制将边带数据从一个模块发送到另一个模块。通常,模块之间通过设置消息头进行通信。这就是标准拆分器向聚合器发送信息的方式(
    sequenceNumber
    sequenceSize
    头)

    您可以使用自定义
    ReleaseStrategy
    创建自定义聚合器处理器,以使用其他标头

    一般来说:有可能有多个输入或输出通道的变压器吗

    不支持XD,但后续项目(SpringCloudStream)支持将多个输入/输出绑定到应用程序