我正在尝试找到一种方法,用当前可用的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组件类似于基本电子元件(晶体管,电容器,电阻器,二极管等),我想创建等效的集成电路(加法器,放大器等)。 )。
这样,随着时间的推移,可以轻松创建日益复杂的系统。这样的系统更容易测试和维护。这样的事情可能吗?如果是这样怎么样?如果没有,人们会认为这是一件好事吗?
答案 0 :(得分:0)
你的意思并不完全清楚;你的第二个片段就像你的第一个片段中的链一样,在出站适配器上只有几个属性。
请参阅spring-integration-flow这是一个扩展,它提供了一种配置子流的机制,可以作为&#34;服务&#34;来自其他流程。