我是Spring Integration的新手。在当前场景中,我试图调用这样的方法:
MyObject.setMyList();
MyObject.setMyList1();
MyObject.setMyList2();
MyObject.setMyList3();
我有一个界面来定义网关,但我的问题是如何使用spring集成一次运行这多个方法并返回MyObject
。所有方法都是相互依存的。
第二种情况:我有一个依赖于另一个方法结果的方法。 Method2依赖于Method1结果。
method2.getMethod2Result(method1_String).
如何使用Spring Integration处理这种情况?
我知道如何处理它,而不是Spring Integration。
答案 0 :(得分:1)
Spring集成中没有bean
,您只有消息。假设你的bean实际上是某个消息的有效负载,你可以通过编写自定义transformers(如payload enrichers)来实现这两种用例,它在调用一些方法序列后返回相同的对象。 / p>
答案 1 :(得分:1)
如果您的用例非常紧张,我认为没有理由使用消息通道和一堆服务激活器来解耦它。
看起来只是编写一些自定义POJO并从一个<service-activator>
引用它就足够了。
该自定义POJO应封装MyObject
上的方法调用。
从这里开始,MyObject
将是inbound
,可以是outbound
,也可以是payload
{{1}}。
请阅读更多文档。
答案 2 :(得分:0)
对于第一种情况,您可以使用Splitter-Aggregator模式,您可以为每个路径调用不同的方法,并在聚合器中组合结果。对于第二种情况,一次调用的结果转到另一种情况,您只需使用
即可 <service-activator>
with mutliple in and out channels