Cosminexus 機能解説
ここでは,DB Connector for Cosminexus RMとCosminexus RMによる接続の特徴について説明します。
DB Connector for Cosminexus RMを使用してCosminexus RMと連携することによって,データベース上のキューに対するJMSインタフェースによるメッセージの送受信や,メッセージによって起動されるMessage-driven Beanの呼び出しなどができます。
DB Connector for Cosminexus RMとCosminexus RMによってデータベースに接続する場合,JMSインタフェースとJDBCインタフェースによるアクセスで使用する物理コネクションを共有することによって次のことが実現できるため,処理性能が向上します。
サーブレット,JSP,または,Enterprise Beanから,JMSインタフェースとJDBCインタフェースを使用して,データベースにアクセスするときのDB Connector for Cosminexus RMおよびCosminexus RMの処理の概要を次の図に示します。
図9-7 DB Connector for Cosminexus RMおよびCosminexus RMの処理の概要
JMSインタフェースによるアクセスはCosminexus RMを経由して,JDBCインタフェースによるアクセスはDB Connector for Cosminexus RMを経由して,データベースにアクセスします。なお,Cosminexus RMでは,キューをデータベース上に構築するため,内部的にJDBCインタフェースによるデータベースへのアクセスを使用します。そのため,JDBCドライバを経由してデータベースにアクセスします。
また,DB Connector for Cosminexus RMでは,Cosminexus RMを経由して,Cosminexus RMと物理コネクションを共有してデータベースにアクセスします。これらのリソースアダプタでは,Cosminexus RM用のコネクションプールを利用してコネクションを取得します。これによって,物理コネクションの共有を実現しています。
DB Connector for Cosminexus RMとCosminexus RMを使用して接続する場合のリソースの構成パターンについて説明します。ここでは,次に示す場合のリソースの構成について説明します。
なお,JMSインタフェースとJDBCインタフェースで同一データベースにアクセスする場合と,Message-driven Beanを使用する場合は,コネクションの共有ができます。ただし,コネクションを共有するためには,次に示す前提条件を満たしている必要があります。
ユーザプログラムでデータベース上のキューに対してだけアクセスする場合,次の図に示す構成で使用します。
図9-8 JMSインタフェースだけを使用する場合の構成
ユーザプログラムでJMSインタフェースとJDBCインタフェースを使用してデータベースにアクセスする場合,コネクション共有の前提条件を満たしているときは,2種類のインタフェースで同一のデータベースにアクセスできます。このとき,次の図に示す構成で使用します。
この構成にすることによって,コネクションの共有によるトランザクション処理性能の向上とリソースの有効利用を実現できます。
図9-9 JMSインタフェースとJDBCインタフェースでアクセスするデータベースが同じ場合の構成
ユーザプログラムでJMSインタフェースとJDBCインタフェースを使用してデータベースにアクセスする場合,コネクション共有の前提条件を満たしていないときは,インタフェースごとに,異なるデータベースにアクセスする構成にする必要があります。このとき,次の図に示す構成で使用します。
図9-10 JMSインタフェースとJDBCインタフェースでアクセスするデータベースが異なる場合の構成
データベース上のキューへのアクセスには,DB Connector for Cosminexus RMとCosminexus RMを使用します。また,データベース上のテーブルへのアクセスには,DB Connectorを別途用意して使用する必要があります。
Message-driven Beanを使用する場合,次の図に示す構成で使用します。コネクションの共有条件を満たす場合には,DB Connector for Cosminexus RMのJDBCインタフェースを使用して,Message-driven BeanとJDBCインタフェースでコネクションを共有することができます。
なお,Message-driven Beanを使用する場合,関連づけるリソースアダプタがCosminexus RM 01-01以降のときは,グローバルトランザクションおよびローカルトランザクションを使用できます。Cosminexus RM 01-00のリソースアダプタを使用する場合は,グローバルトランザクションを使用する必要があります。このとき,ローカルトランザクションを使用することはできませんが,コネクション共有の前提条件を満たしていれば,グローバルトランザクションは1フェーズで決着されます。
図9-11 Message-driven Beanを使用する場合の構成
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.