ehcacheでテラコッタを使用しようとしています。私のプロジェクトのセットアップは、ehcache と統合されたアプリケーションが展開されている tomcat の 2 つのインスタンスを使用しているようなものです。これら 2 つのインスタンス間の同期が必要なため、テラコッタを使用しています。しかし、私はエラーに直面しています
「net.sf.ehcache.CacheException: get() で例外がキャッチされていません - Java ヒープ領域」 ehcache を Terracotta と統合した場合。私のehcache.xmlは
<?xml version="1.0" encoding="UTF-8"?>
<ehcache name="terracotta" maxBytesLocalHeap="30%" >
<diskStore path="java.io.tmpdir" />
<terracottaConfig url="localhost:9510"/>
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
<cache name="LocalCache"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache1"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache2"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache3"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache4"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache5"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache6"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache7"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache8"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache9"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache10"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="DetailStockByKey"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache11"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache12"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache13"
timeToLiveSeconds="10"
maxElementsOnDisk="0"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<terracotta />
</cache>
<cache name="cache15"
timeToLiveSeconds="10"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<!--<terracotta /> -->
</cache>
<cache name="cache14"
timeToLiveSeconds="10"
eternal="false"
memoryStoreEvictionPolicy="LFU" >
<!--<terracotta /> -->
</cache>
</ehcache>
また、次のような警告が表示されます
警告: オブジェクト グラフのサイズを計算しようとしたときに、1,000 個のオブジェクト参照の構成された制限に達しました。サイジング操作を続行すると、パフォーマンスが大幅に低下する可能性があります。これは、CacheManger または Cache 要素の maxDepthExceededBehavior を「中止」に設定するか、@IgnoreSizeOf アノテーションを使用して停止ポイントを追加することで回避できます。構成された制限でパフォーマンスの低下が問題にならない場合は、CacheManager またはキャッシュ要素の maxDepth 属性を使用して制限値を上げます。詳細については、Ehcache 構成ドキュメントを参照してください。
そして、テラコッタを実行するために -Xmx:1024m を使用しています。私はこの問題に直面していません。また、スタンドアロンの ehcache.xml を実行すると、応答時間が短くなります。ただし、テラコッタで ehcache を使用すると、応答時間が 700 倍に増加しました。この問題の解決にご協力ください。応答時間が短縮され、このエラーが再び発生しないようにするにはどうすればよいですか。前もって感謝します