我正在开发一个自定义策略(已在mule api管理器中部署),并且需要实现缓存逻辑。我知道可以定义一个ManagedObjectStore Spring Bean,但是我想使用缓存作用域,以便缓存逻辑由作用域处理。
这是我到目前为止尝试过的。 我定义了一个对象存储缓存策略(硬编码密钥):
<ee:object-store-caching-strategy name="Caching_Strategy" doc:name="Caching Strategy" keyGenerationExpression="token">
<mule:managed-store storeName="cache_token" maxEntries="{{maxEntries}}" entryTTL="{{entryTTL}}" expirationInterval="{{expirationInterval}}" />
</ee:object-store-caching-strategy>
我使用这样的缓存策略:
<ee:cache cachingStrategy-ref="Caching_Strategy" doc:name="Cache">
<http:request config-ref="jwt_token_configuration" path="/jwt_tokens" method="POST" doc:name="HTTP">
<http:request-builder>
<http:query-param paramName="Content-Type" value="application/json" />
</http:request-builder>
<http:success-status-code-validator values="0..599" />
</http:request>
<mule:logger message="cache log" level="INFO" doc:name="Logger" />
</ee:cache>
策略已编译并成功应用于一个API,但始终执行mule:logger(这意味着不会发生缓存)
有类似情况的经验吗? 谢谢