Caching 如何从Mule获取缓存事件密钥
我使用的是Anypoint Studio 6.1和Mule 3.8.1,并且有一个Mule管理的存储缓存策略,该策略使用默认的事件密钥生成 如何在流中获取此键的值?它存放在哪里Caching 如何从Mule获取缓存事件密钥,caching,mule,anypoint-studio,Caching,Mule,Anypoint Studio,我使用的是Anypoint Studio 6.1和Mule 3.8.1,并且有一个Mule管理的存储缓存策略,该策略使用默认的事件密钥生成 如何在流中获取此键的值?它存放在哪里 谢谢默认情况下,如果缓存中未提供密钥生成器表达式,则生成器会提供SHA 256哈希作为密钥。 参考:- 此生成器计算当前消息字节有效负载的SHA256哈希 您可以使用以下示例获取流的缓存密钥列表:- <ee:object-store-caching-strategy name="cachingStrategy" d
谢谢默认情况下,如果缓存中未提供密钥生成器表达式,则生成器会提供SHA 256哈希作为密钥。 参考:- 此生成器计算当前消息字节有效负载的SHA256哈希 您可以使用以下示例获取流的缓存密钥列表:-
<ee:object-store-caching-strategy name="cachingStrategy" doc:name="cachingStrategy">
<managed-store storeName="myNonPersistentManagedObjectStore" maxEntries="-1" entryTTL="20000" expirationInterval="5000"/>
</ee:object-store-caching-strategy>
<flow name="keylist" doc:name="keylist">
<http:listener config-ref="HTTP_Listener_Configuration" path="/getkeyvalue" doc:name="HTTP"/>
<scripting:component doc:name="Initialise Database">
<scripting:script engine="Groovy">
<scripting:text><![CDATA[
def keyValues = [];
for(a=0;a<muleContext.getRegistry().lookupObject("cachingStrategy").getStore().allKeys().size();a++)
{
keyValues = muleContext.getRegistry().lookupObject("cachingStrategy").getStore().allKeys().get(a);
}
if(keyValues.isEmpty())
{
return "Key is either null or expired !!!";
}
else
{
return "KeysList " + muleContext.getRegistry().lookupObject("cachingStrategy").getStore().allKeys().toString();
}
]]></scripting:text>
</scripting:script>
</scripting:component>
</flow>
每当您在缓存中放入一些消息时,使用上面的流,您就可以获得缓存作用域作为默认值SHA256哈希提供的所有默认缓存键值列表