問題タブ [jcache]
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 - Apache Ignite で特定のキャッシュの構成を取得する方法は?
たとえば、キャッシュを次のように構成します。
後で、返された igniteCache から有効期限ポリシーの期間を調べたいとしたらどうでしょう。私は次のハッキーな方法でそれを行うことができますが、それは醜く、正しい方法ではありません:
私が取り組んでいる Apache Ignite のバージョンは 1.5.0.final です
ちなみに、Ehcache では、次の方法で簡単に構成を取得できます。
java - JCache (JSR107) は、エントリごとに異なる有効期限を許可しますか?
高価なメソッド呼び出しの結果をキャッシュしたいとします。これらのキャッシュ エントリには、異なる有効期限 (別名 TTL) を設定する必要があります。エントリが同じ Cache インスタンスに配置されている場合、これは JCache で可能ですか?
各キャッシュに異なる ExpiryPolicy を割り当てることができることを認識しています。ただし、有効期限を個別に CacheEntry に割り当てることは可能かどうか疑問に思います。
JCache はこれをサポートしていますか? もしそうなら、このコード例へのリンクをいただければ幸いです。この質問の範囲は、実装固有の機能を持たない純粋な JCache です。
java - Java Cache を使用するタイミングと HashMap との違いは?
javax.cache.Cache
その使用法と動作を理解するために行ってきました。と述べられていますが、
JCache は、アプリケーション データの一時ストレージを提供する Map に似たデータ構造です。
JCache と HashMap は要素をローカル ヒープ メモリに格納し、デフォルトでは永続化動作を行いません。カスタムCacheLoader
を実装することでCacheWriter
、永続性を実現できます。それ以外に、いつ使うの?
java - 同じクラスの他のメソッドをキャッシュする方法は?
JCache の Ehcache 実装を使用しています。
としましょう、私はクラスを持っていTest
ます。このクラスには、 と の 2 つのメソッドがmethodA
ありmethodB
ます。methodB
注釈があり@CacheResult(cacheName = "methodB")
ます。
methodB
この情報から、メソッドをキャッシュしたいのでmethodA
、このキャッシュを使用する必要があると推測できます。
しかし...うまくいきません。同じクラスのメソッドを使用している場合、このアノテーションがインターセプターを起動していないようです。クラスを作成してTest2
メソッドをこのクラスに移動すると機能しますがmethodB
、予想どおり、このメソッドの結果はキャッシュされます。
同じクラスのキャッシング メソッドを有効にするにはどうすればよいですか?
java - Hazelcast データ エビクションを使用した Spring JCache
スプリング ブート アプリケーションのキャッシュについて質問があります。1 つのエンティティを管理する単純な Web アプリケーションがあり、Spring Data JPA、JCache を Hazelcast 実装で使用します。2 つのキャッシュを作成しました。
- IDでエンティティをキャッシュする
- エンティティ フィールド値とキャッシュ値としてのエンティティのリストによる別の 1 つ
システムから単一の値を削除すると、最初のキャッシュからこの値を削除し、それぞれのキー (フィールド値) を持つレコードがあれば、2 番目のキャッシュからエンティティのリスト全体を削除します。私の質問: 2 番目のキャッシュからレコード全体を削除せずに更新し、キャッシュ値リストから 1 つのエンティティを削除するだけの解決策はありますか?
例:
caching - WildFly 10、JCache - メソッドキャッシング
Spring Boot を使用した簡単なアプリケーションがあります。JSR107 - JCache でメソッドキャッシングを許可したかったのです。だからチュートリアルの助けを借りて、私はこのコードをまとめました:
このPOMファイルで
(依存関係「spring-boot-starter-web」は、 getCountryメソッドを呼び出す単純な REST サービス用に存在します)
ドキュメントが言うようにすべてが機能します-メソッドは一度だけ呼び出されます。
今、WildFly 10アプリケーションサーバーで試してみたかった
pom ファイルを変更しました:
- トムキャットを除外
- 除外された spring-boot-starter-cache
- infinispan-jcache を追加しました (standalone/domain.xml で wildfly によって構成/管理されているキャッシュを使用したいため)
ここのpastebinでpomファイルを確認してください。
問題は、次のエラーが表示されることです: 「java:jboss/infinispan/app-cache」という名前のキャッシュが見つかりません
(ワイルドフライで構成された infinispan キャッシュに割り当てられた JNDI と名前の両方を使用しようとしました)。
次のコードは Cache オブジェクトを作成しました(私はそれを使うことができます):
質問:
- WildFly が管理する Infinispan を使用して、WildFly 10 で JCache メソッド キャッシングを使用することは可能ですか?
- または、JCache のようなメソッド キャッシングには Infinispan を使用する必要があります。したがって、JCache は Infinispan よりも「多くの機能」を備えています。
どうもありがとうございました
PS:コード全体をgithubに置いてリンクを投稿しても問題ありません-数行のコードです...
hibernate - Jcache と Hibernate L2 の併用
Jcache の仕様を確認したところ、キャッシュからのオブジェクトの読み込みと削除に関して柔軟性が向上することを理解していますが、独自のデータ アクセスを作成する必要があります。
Hibernate L2 キャッシュは、RDBMS からデータをキャッシュするのに優れていますが、データの取り込みと削除に関しては柔軟性が限られています。
両方の仕様に対応できる Ignite などの実装のための Jcache 実装でのデータ アクセスを回避するために、両方の機能の最良の部分を一緒に使用できますか。
より正確には、Ignite によって作成された単一のキャッシュ オブジェクトは、Hibernate L2 キャッシュおよび Jcache として同時に処理できます。
Jcache アノテーションを使用し、必要に応じてデータベース操作に休止状態を使用したい
hazelcast - 「hz:impl:cacheService」という名前のサービスが見つかりません
私はヘーゼルキャストのプロトタイプコードを書いています。リーダーの実行中に次のエラーが発生しました。何を見逃したのかわからない。
これが私のコードです