問題タブ [infinispan]
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.
caching - インフィニスパンJPAキャッシュローダー?
Infinispan JPA キャッシュ ローダーを実装するにはどうすればよいですか?infinispan API で実装するパターンまたは方法はありますか?
configuration - 1つのインフィニスパンで複数のmemcached?
Infinispan は memcached プロトコルを認識します。
実際に複数の infinispan インスタンスを起動せずに、複数の infinispan キャッシュを異なるポートで memcached サーバーとして公開することは可能ですか?
spring - Spring、Infinispan、および JBoss 7 の統合
JBoss 7 Infinispan キャッシュを、war デプロイされた 2 つの Spring ベースのアプリの通信形式 (後で) として使用しようとしています。JBoss マネージド キャッシュ マネージャーへのアクセスに問題があります。
私が使うとき
2 つのアプリケーションのそれぞれで、2 つの個別のキャッシュを取得します。@ManagedBean アノテーションと Java EE 標準をまったく使用せずに、JBoss サーバーによって作成されたキャッシュにアクセスする方法はありますか?
終わった。Kazaag のおかげで、JNDI を使用できました。
DefaultEmbeddedCacheManager Class Cast Exception に関するよく知られた問題がありました。反射を利用しました。
さらに、熱心に開始されたコンテナをマークする必要がありました。
クラス・ローダーは異なりますが、キャッシュは複製されます。
java - プログラムでjboss 7でinfinispanを構成する
infinispan の構成を standalone.xml から完全に取り除き、persistence.xml で次のような構成にする方法はありますか?
前もって感謝します
java - EC2上のJGroupsノードは、お互いを見ているのに話をしていません
Hibernate Searchを使用して、jgroupsSlaveノードからLuceneインデックスへのすべての書き込みがjgroupsMasterノードに送信され、LuceneインデックスがInfinispanでスレーブに共有されるようにしようとしています。すべてがローカルで機能しますが、ノードはEC2でお互いを検出しますが、通信していないようです。
彼らは両方ともお互いに生きているメッセージを送っています。
セキュリティグループ
マスター用とスレーブ用の2つのjarがあり、それぞれのEC2インスタンスで実行しています。各インスタンスに他のインスタンスからpingを実行できます。これらは両方とも同じセキュリティグループに属しており、グループ内の任意のマシン間の通信に関する次のルールを定義しています。
ICMPのすべてのポート0-65535(TCPの場合)0-65535(UDPの場合)
したがって、セキュリティグループの構成の問題ではないと思います。
hibernate.properties
infinispan.xml
jgroups-ec2.xml
これを最新のinfinispan-coreディストリビューション(5.2.0.Beta3ですが、5.1.4も試してみました)から直接コピーしました。私が変更したのは、s3_pingを私のものに置き換えただけですが、ノードがs3に書き込んでいるのがわかり、ノードがお互いを見つけているので、それは問題ではないと思います。また、jgroups.tcp.addressの環境変数をプライベートIPアドレスに設定してマスター/スレーブを起動しています。また、大幅に簡略化されたいくつかの構成を試しましたが、成功しませんでした。
問題が何であるかについてのアイデアはありますか?私はそれで遊んで数日を過ごしました、そしてそれは私を夢中にさせています。ローカルで動作し、EC2で通信できないため、jgroups設定を使用したものである必要があると思います。
あなたたちがこれを理解するのを手伝いたい他の情報はありますか?
java - infinispan: クラスター化されたインスタンスがキャッシュを共有していません
クラスター化された環境で Infinispan を動作させようとして 2 日間以上何もしませんでしたが、動作しません。個別の infinispan サーバーを実行したくありません。クラスター化された Glassfish で実行されるアプリケーションに組み込みたいだけです。それは不可能ですか?キャッシュにあるはずのマップに値をロードするだけのサンプル JSF アプリを入手しました。クラスター化されたインスタンスを 1 つ取得し、値を追加すると、値が表示されます。しかし、他のクラスター化されたインスタンスに移動すると、マップが空として表示されます。
私は何か間違ったことをしていることを知っています、私はただ何を知りません。インターネットを検索していますが、それを機能させる方法に関する包括的なチュートリアルはありません。
config (クラスタリングを示していると思われるチュートリアルからコピーhttp://www.mastertheboss.com/infinispan/infinispan-tutorial-part-2/page-2 ):
コンテキスト リスナー:
豆:
この時点でどうすればいいのか本当にわかりません...
infinispan - JBoss 7 + Infinispan とトランザクション
JBoss As 7.1.1 Final を使用しています。トランザクション モード「FULL_XA」でレプリケートされたキャッシュを構成しました。
キャッシュをメモリ内データベースとして使用しています。キャッシュ内のエントリは、アプリケーションによって操作 (追加/更新/削除) されます。JTA トランザクションのロールバックがキャッシュ内のエントリの以前の追加を元に戻さないというシナリオに直面しています。Infinispan のドキュメントでは、キャッシュ用に構成するトランザクション マネージャーが指定されています。JBoss アプリケーション サーバーでは、infinispan は自動的に正しいトランザクション マネージャーを選択できるはずです。さらに、infinispan 1.2 XSD には、キャッシュ用にトランザクション マネージャーを構成する方法に関する詳細が記載されていません。ここで本当にトランザクション マネージャーを構成する必要がありますか? そうでない場合、トランザクションのロールバック後にキャッシュの追加がロールバックされない原因として考えられるものは何ですか。
infinispan は、対応するトランザクションがロールバックされると、以前にキャッシュに追加されたエントリを削除する機能を提供しますか? これは、基本的に、RDBMS などの永続データストアによって提供される原子性保証と同じです。
infinispan - Infinispan keyset() は本番環境には適していません
クラスターをサポートするようにアプリケーションを拡張するために infinispan 分散グリッドを使用することにしましたが、この種の共有リソースを使用するときに制限に遭遇しました。分散キャッシュ内のすべての値またはキーを取得するにはどうすればよいですか? ドキュメントでは、すべてのコレクションメソッドが本番環境での実行に推奨されていないため、これを求めています(keySet()を意味します)。現在、キーと値のペアを持つローカル バケット/キャッシュがありますが、値を処理するには、キーを取得してセットを反復処理する必要があります。set = cache.keySet(); を設定します。
ローカル キャッシュに多数のエントリがある場合、keySet() はコピーを返しますが、これはメモリに大きな負荷がかかります。クエリ機能を使用しようとしましたが、値を検索する必要がない場合にネットワーク呼び出しがいくつかあります。また、クエリ機能は複雑なフィルターをサポートしていません。本番環境で infinispan を使用する場合、どのアプローチが最適か知っていますか?
これは実験段階であるため、最後の infinispan バージョンを使用しています。
どうもありがとう。
java - JBoss AS7 で hibernate-infinispan の write behind メソッドを使用する方法
スタンドアロン JBoss AS7 で REST API を作成し、hibernate を JPA プロバイダーとして使用し、Infinispan を 2 番目のレベルのキャッシュとして使用しました。
https://docs.jboss.org/author/display/ISPN/Write-Through+And+Write-Behind+Cachingで、 Infinispanが write-behind メソッドを使用して、キャッシュからデータベースであり、これは私のプロジェクトに必要なものです。
この機能を有効にしたいのですが、その方法がどこにも見つかりません。
それが役立つ場合は、なぜこの動作が必要なのかを説明できます。Stat というエンティティ クラスがあります。そのクラスには、次のような int バランス値があります。
REST メソッドの 1 つは、そのバランスに同時にアクセスし、そこから 1 を引いて、データベースで更新します。これにより、多くのスレッドがロックを取得してデータベースの残高を読み取って更新しようとするため、プロジェクトにボトルネックが生じます。
そのため、おそらく Infinispan を使用してメモリ内のバランスを更新し、Infinispan にデータベースへの変更を非同期的に保持させることができると考えました。
どんな助けでも大歓迎です。
spring - 第 2 レベルのキャッシュ プロバイダーとして Infinispan を使用する Spring JPA および Hibernate 4
Googleで検索したところ、同じ問題を抱えている人が何人か見つかりましたが、具体的な答えは見つかりませんでした.
基本的に、Spring と JPA を Hibernate 4.1.7 と共に使用し、Infinispan を第 2 レベルのキャッシュ プロバイダーとしてセットアップしようとしています。
ただし、起動時に次の例外が発生します。
原因: org.infinispan.CacheException:これはトランザクション キャッシュですが、トランザクション マネージャーが見つかりませんでした。トランザクション マネージャーのルックアップを適切に構成します。
JTA は使用しませんが、Spring の JpaTransactionManager を使用します。実行時に、Hibernate は既存の jpaTransactionManager を認識して使用する必要があると思いますが、Infinispan はそれを認識していないため、爆発します。どんな助けでも大歓迎です。