負荷テスト中にアプリケーションのスレッド ダンプをいくつか取得したところ、すべてのキャッシュ可能な read_only エンティティがいくつかのロックで登録されていることがわかりました。ディスクに書き込まれた .data ファイルも表示されます。これは正常ですか?ファイル .data には何が書かれていますか?
次の注釈を使用します。
@Cache(usage = org.hibernate.annotations.CacheConcurrencyStrategy.READ_ONLY)
スレッドダンプ スタック トレース:
"some.come.entity.SomeEntity.data" daemon prio=10 tid=0x00007f9fad47f000 nid=0x7b2e waiting on condition [0x00007f9ef74b3000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000073ff0f098> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)