int-jpa:检索出站网关并缓存结果

时间:2016-04-25 06:12:07

标签: spring-data spring-integration

是否可以缓存jap retriving oubound gateway(int-jpa:retrieve-outbound-gateway)的结果。如果缓存中有结果,那么每次查询都不执行?

2 个答案:

答案 0 :(得分:0)

框架目前不提供此功能,但您可以轻松地向出站网关添加custom advice以实现此机制。

答案 1 :(得分:0)

现有代码库的解决方案可能如下所示:

<transformer input-channel="input" ref="testBean" method="upperCase" output-channel="output">
    <request-handler-advice-chain>
        <cache:advice>
            <cache:caching cache="foo">
                <cache:cacheable method="handle*Message" key="#a0.payload"/>
            </cache:caching>
        </cache:advice>
    </request-handler-advice-chain>
</transformer>

此处为<transformer>,但同样适用于JPA网关。

注意method="handle*Message" AOP路径。 此外,key表达式基于Message a0 cacheable建议参数。

这可能就是为什么我们仍然不支持它作为Spring Integration中的开箱即用组件。非常简单直接的解决方案。