2011-01-02 8 views
3

警告に次のような警告が表示されています。問題点:ソフトロックされたキャッシュエントリが、基になるEhcacheによって期限切れにされました。

WARNING: Cache package.BannedIP Key package.BannedIP#73121 Lockable : null 
A soft-locked cache entry was expired by the underlying Ehcache. If this happens regularly you should consider increasing the cache timeouts and/or capacity limits 
Dec 16, 2010 10:00:53 PM net.sf.ehcache.hibernate.strategy.AbstractReadWriteEhcacheAccessStrategy handleLockExpiry 

ehcache.xmlファイル内BannedIPのための設定:

<cache name="package.BannedIP" 
     maxElementsInMemory="80000" 
     eternal="true" 
     overflowToDisk="true" 
     diskPersistent="true" /> 

どれbannedIPsが更新され得ているTomcatのたびにcatalina.outログファイルにこの警告を書きについて80000のエントリがあります助けに感謝します。

答えて

3

この警告の結果、パフォーマンスやユーザビリティの問題が発生していますか?そうでなければ、あなたはこの警告をただのものとして扱うべきであるように思えます:警告。

それ以外の場合は、実際に使用されているものとキャッシュされているものの違いを考慮して、maxElementsInMemoryのサイズを大きくすることが解決策であるように見えます。

これが役に立ちます。

2

package.BannedIPに実際にあなたが期待しているものが含まれていることをまだ確認しましたか?

統計情報をプログラムで使用して、何が起こっているのかを確認できます。あなたがそこに持っている設定ビットを与えられれば、Ehcacheは何も退去してはいけません(あなたがBannedIPインスタンスが80k以下であれば)。

また、そのメッセージが意味することを明確にするために、BannedIPインスタンスを更新中ですが、コミットが発生すると、このエントリをマークするためにHibernateが挿入したSoftLockが何らかの理由で追い出されてしまった...これらのアップデートがなぜそんなに長くかかるのだろうか?

また、大声で考えていますが、他のプロセス(一括更新)でキャッシュ領域全体が無効になることはありますか?

関連する問題