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