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

时间:2015-12-23 18:30:16

标签: spring-integration

我正在尝试找到一种方法,用当前可用的Spring集成EIP组件创建更高级别的抽象组件。例如,我想替换几个结构:

<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>

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

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

1 个答案:

答案 0 :(得分:0)

你的意思并不完全清楚;你的第二个片段就像你的第一个片段中的链一样,在出站适配器上只有几个属性。

请参阅spring-integration-flow这是一个扩展,它提供了一种配置子流的机制,可以作为&#34;服务&#34;来自其他流程。