6

ハイバネート 3.3.x、ehcache 2.2.x

一度に多数のユーザーを公開しようとすると、次のエラーが発生します。なぜこれが起こるのか、これを修正する方法について何か考えはありますか? ユーザーの一括読み込みの前にこのキャッシュを無効にする方法はありますか?

17:17:50,140 WARN [AbstractReadWriteEhcacheAccessStrategy] Cache
persistence.unit:unitName=my.ear/my-ejb-1.0.0.jar#my.com.mycompany.User.phones Key com.mycompany.User.phones#9915 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

EDIT1:

このエラーは、JPA 呼び出しを介して多数のユーザーをデータベースに一括ロードしようとすると発生します。ティアダウンフックを介してキャッシュマネージャーをシャットダウンしません。

4

3 に答える 3

2

説明によると、エンティティの第 2 レベルのキャッシュがいっぱいになり、その一部が基になる ehcache から時期尚早に削除されているようです。ドキュメントに記載されているように、一括挿入中に定期的に休止状態になりflushますか?clearSession

于 2011-05-06T06:38:29.773 に答える
1

Stateless Sessionの使用も検討することをお勧めします。そうでない場合は、@Binil Thomas が述べたように、セッションでリソースを解放する必要がflushあります。clear

于 2011-05-09T19:40:40.693 に答える
0

maxElementsInMemory を 0 に増やします。詳細については、これを参照してください。

于 2011-05-09T08:30:59.707 に答える