Ehcacheの自動ピア・ディスカバリ周りのコードを読んでみる(その2)

heartBeatReceiver と heartBeatSender の働きを掘り下げて行こうと思います。しかし、そうは問屋が卸してくれません。ハートビートの情報にリモート・ピア(ローカルのEhcache インスタンスに Remote インタフェースをかぶせて分散オブジェクトとして使うもの)情報を混ぜ込む仕組みになっているため、CacheManagerPeerListener からピア情報を取得しています。そのため、RMICacheManagerPeerListener も少し見ておくことにします。

RMICacheManagerPeerListenerの初期化

CacheManager の初期化時に、RMICacheManagerPeerListener の init() メソッドが呼ばれ、下記の処理が行われます。

  • 既存の RMI レジストリの取得を試みる。
  • 既存の RMI レジストリが取得できなければ、作成する。
  • CacheManager 管理下のキャッシュのうち、分散キャッシュ設定のものについて、RMICachePeer を作成する。(分散キャッシュかどうかの判断は、実際にはキャッシュが持つ CacheEventListenerCacheReplicator が含まれてるかどうかで判断している)
  • 作成された RMICachePeer 群を、RMIレジストリにバインドする。