Spring integration 使用spring集成制作更高级别的抽象组件

Spring integration 使用spring集成制作更高级别的抽象组件,spring-integration,Spring Integration,我试图找到一种方法,用当前可用的SpringIntegrationEIP组件创建更高级别的抽象组件。例如,我想替换几个构造: 比如: 打个比方,如果弹簧集成EIP组件类似于基本电子组件(晶体管、电容器、电阻器、二极管等),我想创建集成电路的等效物(加法器、放大器等) 这样,随着时间的推移,越来越复杂的系统可以轻松创建。这样的系统更容易测试和维护。这样的事情可能吗?如果是这样,怎么办?如果没有,人们认为这是一件好事吗?你的意思还不完全清楚;您的第二个代码段与第一个代码段中的链类似,在出

我试图找到一种方法,用当前可用的SpringIntegrationEIP组件创建更高级别的抽象组件。例如,我想替换几个构造:


比如:


打个比方,如果弹簧集成EIP组件类似于基本电子组件(晶体管、电容器、电阻器、二极管等),我想创建集成电路的等效物(加法器、放大器等)


这样,随着时间的推移,越来越复杂的系统可以轻松创建。这样的系统更容易测试和维护。这样的事情可能吗?如果是这样,怎么办?如果没有,人们认为这是一件好事吗?

你的意思还不完全清楚;您的第二个代码段与第一个代码段中的链类似,在出站适配器上还有几个属性


看看哪个扩展提供了配置子流的机制,这些子流可以作为其他流的“服务”调用。

您的意思还不完全清楚;您的第二个代码段与第一个代码段中的链类似,在出站适配器上还有几个属性


查看哪个扩展提供了配置子流的机制,这些子流可以作为其他流的“服务”调用。

不同之处在于,第二个代码段封装并“隐藏”了单个构造中的所有内容。请注意名称(出站通道适配器fast)以将其与常规名称(出站通道适配器)区分开来。如果我想建立这样一个结构,我会怎么做?感谢您提供spring集成流的指针。我会看看是否可以使用它。不同的是,第二个代码段将所有内容封装并“隐藏”在一个单独的构造中。请注意名称(出站通道适配器fast)以将其与常规名称(出站通道适配器)区分开来。如果我想建立这样一个结构,我会怎么做?感谢您提供spring集成流的指针。我会看看我能不能用。
<int:gateway id="inMemoryPopulator"
           default-request-channel="channel"
           service-interface="com.xyz.gateway.InMemoryPopulator"/>

<!-- dispatching to JMS -->

<int:gateway id="jmsPopulator"
           default-request-channel="dispatchChannel"
           service-interface="com.xyz.gateway.JMSPopulator"/>

<int:channel id="dispatchChannel"/>

<int:chain input-channel="dispatchChannel">
<int:header-enricher ref="queueNameEnricher"
                     method="populateQueueName"/>
<int-jms:outbound-channel-adapter id="jmsOut"
                                  destination-expression="headers.targetQueueName"/>
</int:chain>
<int:chain input-channel="channel">
  <int:header-enricher ref="queueNameEnricher"
                       method="populateQueueName"/>
  <int-jms:outbound-channel-adapter-fast id="fastJmsOut"
                                             number-workers="10"                     
                                             internal-queue-size="1000"
                                             destination-expression="headers.targetQueueName"/>
</int:chain>