CacheInfinispan今度は、アプリケーションと同一のJavaVMでInfinispanを起動させ、なおかつアプリケーション間でのキャッシュの共有にトライしてみます。いわゆるクラスタですが、モードにはdistribution(分散)replication(レプリケーション)があるようです。build.sbtから。"5.2.0.Final"続いて、ソースコード。$message")}引数に、仮のノード名を取るようにしています。ひとつ目は自分自身で、それ以外は連携する相手のノード名を指定します。manager.stop()みたいなコードが入っています。クラスタリングを使う場合は、これを入れて明示的に停止しないと、JavaVMが終了しません。クラスタリングに使っている、非Daemonスレッドが残り続けてしまうためです。キャッシュに対するイベントをコンソールに出力するため、Listenerを付けています。[${event.getCache}]")}設定ファイルは、2つ用意しました。</default></infinispan>クラスタの設定は、この部分で行っています。</clustering>設定は、たぶんこんな感じになっています。キャッシュの同期転送syncタグの意味は、これだと思います。https://access.redhat.com/knowledge/docs/ja-JP/JBoss_Data_Grid/6/html-single/Administration_and_Configuration_Guide/index.html#Asynchronous_and_Synchronous_OperationsnumOwnersの意味は、たぶんこちら。/></config>設定の意味は、まだほとんどわかっていません...。このファイルがなくてもデフォルトの設定で起動するのですが、使っているOSのバッファサイズとかがJGroupsのデフォルト値にまったく合わなくて警告されまくるので、Infinispanに同梱されているサンプルとhttps://github.com/infinispan/infinispan-quickstart/blob/master/clustered-cache/src/main/resources/jgroups.xmlを使って適当に設定しました...。近く、ちゃんと調べます...。sbtコンソールを2つ起動して、それぞれ以下の様に実行します。node1これで、コンソール1と2をパパッと実行します。20:53:49一応、両方のnodeで同じデータが見れています。'___defaultcache'@ubuntu-23062]みたいなログは、仕込んだListenerが吐いているものです。node1の方では、node2で追加したエントリがログ出力されています。いうのは出ていませんが...。結果として、両nodeで同じデータが見えているので、一応共有できているということかな?まあ、numOwnersが2なので、両方とも同じデータを持っているんでしょうけど。レプリケーションモードにしても、見た目の動きは変わらないので割愛。unexpectedlyみたいなエラーを見ます。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro月別アーカイブはてなブログをはじめよう!Kazuhiraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。