![]() | ||||||||
| ||||||||
| 前のページ 1 2 3 次のページ | ||||||||
| PojoCache: Cluster Your POJOs with Annotations | ||||||||
最後に、Ben Wang氏とBrian Stansberry氏(両氏ともにJBoss/Red Hat Inc.)によるJBossのキャッシュ用モジュールである「JBoss Cache」の紹介を概説する。 JBoss Cacheには2つのキャッシュオブジェクトがある。1つはTreeCacheであり、名前の通り木構造に(パスによって関連付けられた)オブジェクトを格納する。もう1つはPojoCacheというTreeCacheの継承オブジェクトであり、POJOをキャッシュすることができるものである。 PojoCacheは従来からあるTreeCacheの機能を受けて設計された新しいオブジェクトであるが、どちらか一方がパフォーマンス的に優れているわけではなく、両者ともに一長一短があり、アプリケーションの構造に応じた使い分けが必要となる。TreeCacheがその生成から消滅までほぼ一定のコストを持つことに対して、PojoCacheのパフォーマンス特性はその生成時に偏っている。 PojoCacheでは、キャッシュ対象のオブジェクトの生成時にJBoss AOPによってキャッシュ実装がウェービングされるが、その後の属性の更新では単純な値の設定/取得が行われるのみであるため、生成時にコストが集中するのである。 そのため、生成後にあまり頻繁に値の更新が行われないようなキャッシュモデルではTreeCacheを使用したほうが良いパフォーマンスが期待できる。反対に生成後の値の更新が多く発生するキャッシュモデルではPojoCacheの方が良いパフォーマンスが期待できる。 JBoss Cacheは、JBoss Application Server、JBoss Messaging、JBoss Seamなど他の多くのプロジェクトが高可用性を実現する上での中核機能として利用する重要なコンポーネントである。その機能は単純なキャッシュだけにとどまらず、分散オブジェクト(レプリケーション)や分散トランザクションの実現も担っている。またスタンドアロンでの(アプリケーションサーバなど他のミドルウェアを必要としない)動作も可能であり、その特性に応じた様々な形態での利用が想定される。 参考 JBoss Cache(http://labs.jboss.com/portal/jbosscache) | ||||||||
| 前のページ 1 2 3 次のページ | ||||||||
| ||||||||
| ||||||||



