7 データソース・インターセプタの構成
データソース・インターセプタの概要
スケール・アップ操作中に、動的クラスタに新しい動的サーバー・インスタンスが起動されます。データソースのターゲットがこの動的クラスタに設定されている場合、新しいサーバー・インスタンスを起動すると、さらに多くのデータベース接続が作成される可能性があります。しかし、このような追加のデータベース接続の作成は、データベースの性能を超える可能性をはらんでいます。データソース・インターセプタは、新しいサーバー・インスタンスの追加によってデータベース容量を超えるかどうかを判断し、超える場合はスケール・アップ操作を続行させないための手段となります。
スケール・アップ操作の前に、データソース・インターセプタにより、追加の動的サーバー・インスタンスが動的クラスタに追加される場合に作成される可能性がある最大接続数が決まります。この数にまだ達していない場合、スケール・アップ操作の続行が許可されます。しかし、この数にすでに達しているまたは超えている場合、スケール・アップ操作の起動が中止されます。
ノート:
インターセプタの実行が失敗した場合、関連するスケーリング操作もその後に構成されたインターセプタも起動されません。
データソース・インターセプタの構成
DatasourceInterceptorMBean
を使用して構成されます。データソース・インターセプタ構成に指定した接続URLにより、その接続先となるデータベースも識別されます。ある総容量の複数のデータベースがそれらのデータベースをホストする同じマシンにマップされる可能性があります。データソース・インターセプタ構成により、データベースURLのグループに対応する割当てが特定されますが、この割当てはそのドメインから作成できる最大総接続数です。
スケール・アップされる動的クラスタに対してデータソースがターゲット指定されている場合、データソース・インターセプタは次のことを行います。
-
追加の動的サーバー・インスタンスの動的クラスタへの追加時にデータベースのグループ上に作成できる接続の予測最大数を決定します。
-
構成された割当てを超えない場合、スケーリング操作の続行を許可します。
-
構成された割当てを超える場合、例外を生成し、スケーリング操作を続行させません。
例7-1は、config.xml
ファイルにある、データソース・インターセプタのサンプル構成を示します。
例7-2 は、新しいデータソース・インターセプタを作成して構成するWLSTコマンドを示します。
例7-1 データソース・インターセプタのサンプル構成(CONFIG.XML内)
<interceptors> <interceptor xsi:type="datasource-interceptorType"> <name>datasource-interceptor-1</name> <priority>1073741823</priority> <connection-urls-pattern>jdbc:derby://host:1527/(.*) </connection-urls-pattern> <connection-quota>20</connection-quota> </interceptor> </interceptors>
例7-2 WLSTを使用したデータソース・インターセプタの作成
startEdit() cd('/Interceptors/wl_server') cmo.createDatasourceInterceptor('datasource-interceptor-1') cd('/Interceptors/wl_server/Interceptors/datasource-interceptor-1') cmo.setPriority(1073741823) cmo.setConnectionQuota(20) cmo.setConnectionUrlsPattern(jdbc:derby://host:1527/(.*)) activate() save()
データソース・インターセプタは、WebLogic Server管理コンソールを使用して作成および構成することもできます。『Oracle WebLogic Server Administration Consoleオンラインヘルプ』のデータソース・インターセプタの作成に関する項およびデータソース・インターセプタの構成に関する項を参照してください。