骡子 - 缓存策略 - 会话清除

时间:2015-03-24 06:19:26

标签: caching mule

我正在使用Mule 3.5.0并尝试实施缓存策略。缓存应该被API攻击以获取Sugar CRM OAuth令牌。多个端点正在访问此缓存。

我的要求是只将一个活动元素保留在队列中,该队列为每个API调用提供5分钟的活动令牌。当TTL过期时,缓存应该抓取另一个令牌并将其缓存以供后续调用。

问题出现了,当多个入站端点正在访问缓存时,缓存也会抛出旧值。我需要做的就是将maxEntries更改为1吗?或者有更好的方法来实现这个目标吗?

    <ee:object-store-caching-strategy name="Caching_Strategy" doc:name="Caching Strategy">
    <in-memory-store name="sugar-cache-in-memory" maxEntries="500" entryTTL="300000" expirationInterval="300000"/>
</ee:object-store-caching-strategy>
<flow name="get-oauth-token-cache" doc:name="get-oauth-token-cache" tracking:enable-default-events="true">
    <ee:cache cachingStrategy-ref="Caching_Strategy" doc:name="Cache">
    ..............................
    ..............................
    ..............................
    <logger message="------------------------ Direct Call for Token----------------------" level="INFO" doc:name="Logger"/>
    <DATAMAPPER to set #payload.access_token />
   </ee:cache>
   <set-session-variable variableName="access_token" value="#[payload.access_token]" doc:name="Session Variable"/>
</flow>

1 个答案:

答案 0 :(得分:1)

问题是在ee:cache之后的第一行我有Set Payload功能。不得不把它带到缓存范围之外。

对不起。

相关问题