2015-03-09 4 views
0

Как установить время истечения срока действия записей кэша в mule? Я настраиваю кэш на основе keyExpression на входящие запросы, например:Mule Cache - Expiry

<ee:object-store-caching-strategy name="UserAuth-CachingStrategy" keyGenerationExpression="#[message.inboundProperties.'authorization']" doc:name="Caching Strategy"> 

Кэш должен поразить внешний WS и результаты должны быть в кэше в течение 5 минут. Если я установил хранилище «в памяти» с TTL, скажем, 5 минут, mule не выполняет этот запрос. Независимо от значения в TTL, mule всегда обращается к фактическому внешнему ws один раз каждые 3-4 запроса. Если я не устанавливаю значение TTL, кеш никогда не истекает. как правильно установить кеш для кеша «in-memory» в mule?

Благодаря

ответ

0

Если вы используете ObjectStore, вы можете легко установить, как указано в следующей с помощью пружинных свойств и со ссылкой вашей стратегии кэширования к нему: - http://ricston.com/blog/cache-scope-ehcache/

Вы также можете использовать управляемый-магазин как следующие: -

<ee:object-store-caching-strategy nname="UserAuth-CachingStrategy" keyGenerationExpression="#[message.inboundProperties.'authorization']" doc:name="Caching Strategy"> 
<managed-store storeName="myNonPersistentManagedObjectStore" maxEntries="-1" entryTTL="20000" expirationInterval="5000"/> 
</ee:object-store-caching-strategy> 
+0

спасибо, сейчас он работает. – user3012653

+0

Является ли expirationInterval в мс? –

+0

да .. @RyanErickson –

Смежные вопросы