2014-09-25 41 views
0

我有一個關於處理org.apache.shiro.cache.CacheException的問題。啓用Shiro的Web應用程序如何處理CacheExceptions

發生緩存異常時shiro的責任是什麼?這RTE漣漪遍佈整個堆棧,但我不清楚它在哪裏處理和以何種方式。

shiro啓用的web應用程序可以恢復嗎?

緩存管理器是否重新初始化?

當緩存異常發生時,我是否必須重新啓動應用程序?

例如,在cache.get(key)上發生超時異常或無法連接到節點異常。除了泡沫到停止和死亡,預期的結果是什麼?

感謝

回答

0

我已經檢查CacheException的所有慣例和唯一四郎所做的是把它扔。它永遠不會被抓住,更不用說處理了。

所以唯一的預期結果是「泡到停止並死亡」。

你可以做的是在shiro前面有一個servlet過濾器,捕獲這個異常,然後抓住CacheManager實例(你怎麼做取決於你的設置)並調用cacheManager.getCache()。清除(),所以緩存被重置。

+0

我已經知道它泡沫和死亡,如果我需要阻止它,我需要在shiro之外進行干預。調用flush(清除)對我所讚賞的兩個例子沒有幫助。謝謝 – 2014-09-25 08:43:41

相關問題