次の操作手順は、WebLogic 10.3 に適用できます。この操作手順は、最も一般的で推奨される方法である WebLogic Data Source データベース接続フレームワークを利用するアプリケーションに適用されます。アプリケーションが WebLogic のフレームワークを迂回して直接データベースに接続する場合 (つまり独自に JDBC ドライバーおよび接続をインスタンス化して管理する場合) は、「スタンドアロン アプリケーションまたはその他のアプリケーション サーバー プラットフォームでの設定」の手順を行ってください。
WebLogic 環境のセットアップ
WebLogic アプリケーションのドメイン ライブラリ ディレクトリを探します。そこに Parasoft JDBC ドライバーの jar ファイルをコピーします。たとえばWebLogic Medical records サンプル アプリケーション ドメインのlib フォルダーは、通常 [WebLogic install dir]/wlserver_10.3/samples/domains/medrec/lib
の下にインストールされます。独自のドメインが作成されている場合、たとえば次のようになり
ます。
[WebLogic install dir]\user_projects/domains/your_domain/lib
新規 JDBC データ ソースの作成
- Domain Structure の下の [Services] を展開し、[Data Sources] をクリックします。
- アプリケーションが現在使用しているデータソースを確し、次の値をメモします。
a) 設定されている JNDI 名
b) ドライバー クラス名
c) [Properties] フィールドに設定されているすべての値
[Targets] タブを開いてデータ ソースがデプロイされているサーバーのチェックをオフにし、[Save] をクリックします。この操作の代わりに (またはこの操作に加えて) JNDI 名を変更して、新しい JDBC データ ソースに元の名前と同じ JNDI 名を指定したときの競合を防ぐこともできます。
- Data Sources セクションに戻り、次の操作を行います。
- [New] をクリックします。
- [Generic Data Source] オプションを選択します。
- JDBC Data Source Properties の下に手順 2 でメモした [Name] および [JNDI Name] を入力します。
- データベースの種類に [Other] を設定します。
- [次へ] をクリックします。
- [Database Driver] を [Other] に設定し、[Next] をクリックします。
- Transaction Options の下でデフォルトのオプションをそのままにするか、または現在のアプリケーションおよびデータベース ドライバー構成に合わせて別のオプションを選択します。[Next] をクリックします。
- Connection Properties の下で既存のデータベース接続設定に関連する構成を (手順 2 でメモしたとおりに) 指定します。[Next] をクリックします。[Next] をクリックします。
- Test Database Connection の下で次の操作を行います。
- 元の JDBC ドライバーに対応する Parasoft JDBC ドライバー名を指定します。詳細については「ドライバーの実装クラス」を参照してください。
先頭に Parasoft JDBC ドライバー文字列を付加した JDBC 接続 URL を指定します。例:
jdbc:parasoft:proxydriver:org.apache.derby.jdbc.ClientXADataSource:@jdbc:derby://localhost:1527/medrec
データベースを使用するために必要なプロパティ (上記の手順 2 でメモしたもの) を指定します。
- 以下のプロパティを設定します。
virtualizeGroupId
virtualizeServerUrl (任意) テスト テーブル名を指定するか、新規データ ソースをテストするための SQL クエリーを入力して [Test Configuration] をクリックします。元のデータ ソースにシステム プロパティ (手順 2 でメモしたもの) が定義されていた場合、追加する必要がある可能性があります。
一番上の Messages セクションにテスト結果が表示されます。テストが成功した場合、次のメッセージが表示されます。
エラーがあった場合は、次のメッセージが表示されます。
この場合、メッセージを参照してエラーを解決します。Parasoft JDBC ドライバーからレポートされたエラーの詳細については、logFilePath プロパティで指定した場所にある Parasoft JDBC ドライバー ログ ファイルを参照してください。WebLogic サーバーのドメイン ログの場所にも詳細ログがあります。通常、ドメイン ログの場所は servers/DomainName/logs フォルダーの下です。
例:[WebLogic install dir]/wlserver_10.3/samples/domains/medrec/servers/MedRecServer/logs
接続のテストが成功したら、[Next] をクリックします。
注意
Virtualize サーバーが停止していたり (Parasoft JDBC ドライバーが記録、仮想化、またはハイブリッド モードの場合)、設定に誤りがあるにもかかわらず「Connection test succeeded」が表示される場合があります。Virtualize コンソールを参照し、記録モードで SQL クエリーが受信されていることを確認するか、Parasoft JDBC ドライバー ログ ファイルを参照してエラーがないことを確認してください。
- Select Targets の下で新規データソースをデプロイするサーバー (元のデータソースがデプロイされていたサーバーと同じでなければなりません) を指定し、[Finish] をクリックします。
代替方法: 異なる JNDI 名で Parasoft JDBC ドライバーを使用するためのアプリケーション設定の変更
この方法は、元のデータ ソースを変更したくない場合に行うことができます。たとえば、同じデータ ソースが複数のアプリケーションで使用されており、特定のアプリケーションでだけデータベース接続を仮想化したい場合などです。そのような場合、管理コンソールからアプリケーションのデータ ソース JNDI バインディングを変更できます。デプロイ済みのアプリケーションには、Domain Structure ツリーの [Deployments] セクションからアクセスできます。
対象のアプリケーション モジュールに移動し、使用している JDBC データ ソースの JNDI 名を変更します。
JNDI 名のヒント
JNDI 名はディレクトリのような階層構造の書式を使用してサブコンテキストを表す場合が多くあります。たとえば、元のデータソース JNDI 名が jdbc/zOS_DB2DataSource
の場合、区切り文字 / を使用して jdbc/zOS_DB2DataSource/Original
に変更するべきではありません。なぜなら、アプリケーション内で JNDI バインディングの競合が起こる可能性があるからです。代わりに jdbc/zOS_DB2DataSourceOriginal
のような名前を使用し、JNDI 名がサブコンテキストとして解釈されるのを防ぎます。
代替方法: オリジナル データ ソースの呼び出し
既存のデータ ソースを参照する方が簡単な場合 (たとえば多くのオプションを設定している場合) あるいはカスタム データ ソース ファクトリを使用している場合、オリジナル データ ソースを呼び出すことができます。
オリジナル データ ソースを呼び出すには、WebLogic データ ソースを設定します。
- Parasoft JDBC Driver の jar ファイルを WebLogic アプリケーションのドメイン ライブラリ ディレクトリにコピーします (詳細については「WebLogic Environment Setup」を参照してください)。
- [設定] > [接続プール] タブで以下を指定します。
- URL: datasource://jdbc/db2Live のような書式で URL を入力します。最初の部分 (datasource://) は参照を設定します。2 番目の部分 (jdbc/db2Live) は参照されるデータ ソースの JNDI 名です。
- ドライバークラス名: com.parasoft.xtest.jdbc.virt.driver.JDBCProxyDriver と入力します。
- プロパティ: virtualizeServerUrl および virtualizeGroupId を設定します。
注意
- 必須プロパティ (virtualizeGroupId and virtualizeServerUrl) はリソースでも設定されます。システム プロパティは必要ありません。
- 推奨するベストプラクティスは、virtualizeServerPath を追加して、ドライバーのリクエスト送信先である Virtualize サーバーのパスを示すことです。アセットが作成されたら、同じパスにアセットをデプロイする必要があります。そうすることで、この特定のアセットにだけデータを送ることができます。