問題タブ [ehcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Hibernate-EHCacheからTreeCacheへのmaxElementsOnDisk
HibernateアプリケーションのキャッシュをEHCacheからJBossTreeCacheに移行しています。maxElementsOnDiskと同等の構成でディスクのキャッシュサイズを制限する方法を見つけようとしていますが、パッシベーションがアクティブになっているFileCacheLoaderで構成するのと同様のものが見つかりませんでした。
ありがとう
hibernate - jboss 4.2.1 で ehcache 統計を有効にする
hibernate.generate_statistics=true を設定し、mbeans を登録して、jmx コンソールで統計を確認できるようにする必要があります。どこにもたどり着けないようで、これはそれほど難しい問題ではないようです。多分私は物事を複雑にしすぎているのかもしれませんが、いずれにせよこれまでに私は試しました:
- EhCacheProvider をコピーし、初期化後に init() をオーバーロードして ManagementService.registerMBeans(...) を呼び出す CacheManager の拡張バージョンをインスタンス化しました。registerMBeans(...) への実際の呼び出しまで、コードはすべて正常に実行されました。これにより、プロバイダーの初期化が一般的なエラーで失敗します (残念ながら、書き留めていませんでした)。このアプローチは、このライフレイで使用されるメソッドによって動機付けられました。パフォーマンスのウォークスルー。
- ehcache の jmx mbeans を登録するこの例と同様のコードを実行する start メソッドを使用して、独自の MBean を作成しました。すべてが正しく動作しているように見え、mbean は jmx コンソールに表示されますが、net.sf.ehcache には何も表示されません。
- それ以来、ehcache を 1.5 にアップグレードし (1.3 を使用していましたが、それが jboss 4.2.1 に固有のものなのか、自分で選択したものなのかはわかりません)、SingletonEhCacheProvider を使用するように変更し、手動で統計を取得しようとしました。 mbean 登録。ただし、実際には改善されていません。getInstance() を呼び出すと、返される CacheManager には StandardQueryCache のコピーしかありませんが、jboss ログには、他の多くのキャッシュが初期化されていることが示されます (アプリケーション内のキャッシュされたエンティティごとに 1 つ)。
編集:まあ、私は1つのことを理解しました... JConsoleを介して接続すると、統計mbeansが明らかになります。ManagementFactory.getPlatformMBeanServer() は、jboss が使用しているのと同じ mbean サーバーを提供しないと思います。とにかく、統計を手動で収集しようとしたときと同様の問題が発生しているようです。アプリを少しクリックした後でもすべてゼロになるためです。
java - EhcacheとJava
大量のデータを保存するために ehCache を使用しています。このキャッシュは毎秒約 3 回アクセスされ、最新の状態に保つ必要があります。キャッシュに必要なすべてのデータを毎分データベースから別のキャッシュ (別のキャッシュマネージャーも) に取得する実行スレッドがあります。私がやりたいことは、データの内容を新しいキャッシュから毎秒アクセスされているキャッシュに、迅速で信頼性の高い同期された方法でコピーすることです。(たとえば、既存のキャッシュと新しいキャッシュを渡す replace メソッドを呼び出し、新しいキャッシュを迅速かつ安全に更新します)
ehCacheでこれを行う方法はありますか?
どんな助けでも大歓迎です。
ありがとうダミアン
java - 2 つの異なる war ファイルから同じ ehcache にアクセスする
キャッシュ (ehcache) を介して一部のデータを共有する必要がある 2 つの異なる webapps (異なる war ファイルにパッケージ化) があります。このアイデアがうまくいくかどうか、あなたと一緒にテストしたいと思います。
私の考えは、ehcacheをブートストラップ/アクセスし、jar内にパッケージ化するサービスを作成することです。次に、その jar を 2 つの war にパッケージ化します。
- WAR1: ehcache-service.jar
- WAR2: ehcache-service.jar
このような構成で ehcache は機能しますか?
java - spring-modules を使用して OSCache 内のオブジェクトのキャッシュ時間を設定するにはどうすればよいですか?
いくつかのキャッシュが必要なアプリケーションがあり、一部の半静的データについては、更新する前に最大時間 (たとえば 10 分) キャッシュに保持したいと考えています。私のシステムはデータを取得するだけで、更新することはありません。そのため、プロパティを使用してキャッシュをフラッシュするタイミングがわかりません。OSCache のドキュメントでは、このような有効期限は、プログラム API と taglib の構成の両方を使用して設定できますが、spring-modules のドキュメントではこの問題について言及されていません。
これを行うことができるかどうか、またはどのように行うことができるかを誰かが知っていますか?
mysql - たとえば、MySQL での JDBC 接続の取得は Derby よりも遅いですか?
私が使う
- トムキャット
- C3p0 (Tomcat 内で構成された JNDI)
- データベースとしての MySQL (InnoDB) / Derby (組み込みではない)
- EHCache (メモリー内)
- 休止状態
- Testmachine は WinXP を実行します
開発には Derby を使用していましたが、MySQL に切り替えたいと考えていました。MySQL を使用すると、私のテストが Derby よりも約 50% 遅くなったことに驚きました。
私のテストシナリオ:
- 複雑さの異なる約 2000 の Select がありましたが、複数の結合を使用したものはありませんでした。すべての SQL はインデックスを使用します
- Ehcache はセットアップ実行でいっぱいになります。その後、テストシナリオを少なくとも 50 回実行して、オプティマイザー/GC 効果を克服します
キャッシュが使用されていることを確認しました。データベースに来る実際の SQL はありません。したがって、MySQL テストの速度が低下するのは、接続の作成時間だと思います。
java - 多数のエンティティを使用したEhcache/HibernateおよびRMIレプリケーション
現在、ehcacheでRMI配布オプションを使用する方法を調査しています。ehcache.xmlを適切に構成しましたが、レプリケーションは正常に機能しているようです。しかし、私は2つの質問があります:
-> ehcache/hibernateはエンティティごとに1つのキャッシュを作成するようです。これは問題ありませんが、レプリケーションが行われると、レプリケートする1つのスレッド/キャッシュが作成されます。これは意図された振る舞いですか?私たちのドメインは大きいので、それは約300のスレッドを作成します、それは私には本当に大きいようです
->もう1つの厄介な結果は、ハートビートメッセージがこれらのキャッシュ名をすべて集約しているように見えることです。私が見たところ、メッセージは1500バイトに収まるはずですが、収まらないため、ログに次のメッセージが表示されます。ハートビートが機能していません。レプリケーション用に構成するキャッシュの数を減らします。サイズは1747ですが、1500を超えてはなりません。これをどのように変更できるかについてのアイデアはありますか?
あなたの助けをどうもありがとう
spring - Spring モジュールのキャッシュが機能しない...静かに
Spring Modules プロジェクトの宣言型キャッシュを使用しようとしています。
つまり、機能していません。何もキャッシュされていないようです。
これが私の構成です:
次に、Spring がアプリケーション コンテキストをロードしたときのログを次に示します...
この後、「myServiceBean」Bean から「get」で始まるメソッドを呼び出すページにヒットしました。ただし、キャッシュが行われていることは何も記録されません。springmodules、spring のキャッシュ パッケージ、および DEBUG のデバッグまでログを記録しました。