清除Mule 4中的Cache Scope和Private对象存储



我正在Mule 4中构建应用程序,以缓存来自http请求组件的响应(1小时(。我使用响应来验证jwt。每当出现故障时,我都需要清除缓存并重新调用http请求。使用的组件是:缓存范围

我的当前代码如下所示:-

<ee:object-store-caching-strategy name="Caching_Strategy" doc:name="Caching Strategy" doc:id="50e44473-b55a-4bc3-b53a-18e4229a31a3" keyGenerationExpression="#['token']" >
<os:private-object-store persistent="false" maxEntries="${caching.maxEntries}" entryTtl="${caching.entryTtl}" expirationInterval="${caching.expirationInterval}" />
</ee:object-store-caching-strategy> 

我没有任何特定的要求使它成为私有对象存储,但禁用它不允许我配置maxEntries、entryTTL和ExpirationInterval。

如果你能指导我去的方法,那会更有帮助

  1. 清除缓存(找不到任何与清除缓存相关的文档mule 4(
  2. 如何将其保留为非私有对象存储,并定义entryTtl、maxEntries等参数
  3. 我们什么时候需要使用私有对象存储

我已经尝试过配置缓存的交换示例(但没有提到清除缓存(。

我正在使用Mule Runtime 4.2.2和On Prem Mule

我向Mulesoft提出了一张支持票,并收到了以下回复

1( 无效缓存仅显示在Anypoint Studio 7.4.1版的调色板中。在早期版本的工作室中未显示。(我使用的是7.3.2(

2( 他们正在为Mule 4中的无效缓存添加文档。

3( 用法说明:缓存作用域和"无效缓存"处理器应共享相同的Caching_Strategy(。

4( 为了明确定义缓存作用域的对象存储和ttl,请确保将与对象存储相关的模块添加到项目中。这可以通过简单地在mule流中添加一个"Store"处理器来完成,这将向mule应用程序添加所有必要的模块。然后,在"缓存策略"的"常规">"引用">"对象存储"中,可以选择"编辑内联",并使用显式设置定义对象存储,例如-最大条目数-条目ttl-过期时间间隔您也可以删除未使用的"存储"处理器。

希望它能帮助其他

在最新的Mule版本中有一个名为无效缓存的调色板。您可以简单地使用它来删除缓存作用域的缓存。

当您希望永久保存用于缓存的密钥,并为缓存实现TTL等时间限制时,您将需要一个专用对象存储。

最新更新