Websphere Application Server 6.1.xを構成する方法

この項では、IBM WebSphere Application Server 6.1.xでTimesTen JDBCドライバを使用するための構成に関する説明および例を示します。

前提: Oracle TimesTenおよびIBM WebSphere Application Serverが同じホストマシンに正常にインストールされており、その両方のインスタンスが実行されている。

このアイコンにカーソルを置くと、スクリーンショットが表示されます。

TimesTenの接続およびプロパティの構成

TimesTen JDBCドライバでは、TimesTenデータベースにアクセスするために、4つの異なる接続タイプがサポートされます。

ローカル・トランザクションのみを使用した直接リンク接続
この構成では、TimesTenデータベース・ライブラリに処理中にリンクされます。直接リンク接続では、データベース操作で最短のレスポンス時間が得られ、より高いトランザクション・スループットが実現します。この構成を使用するには、Websphere Application ServerおよびTimesTenデータベースが同じマシンで実行されている必要があります。

TimesTenクラス: com.timesten.jdbc.ObservableConnectionDS

URLプロパティの例: jdbc:timesten:direct:sampledb_1121

XA分散トランザクションを使用した直接リンク接続
JDBCドライバでは、XA分散トランザクションがサポートされます。直接リンク接続の場合、TimesTenデータベースは、Websphere Application Serverと同じマシンに存在する必要があります。この接続タイプでは、分散トランザクションによるオーバーヘッドが発生します。

TimesTenクラス: com.timesten.jdbc.xa.TimesTenXADataSource

URLプロパティの例: jdbc:timesten:direct:sampledb_1121

ローカル・トランザクションのみを使用したクライアント/サーバー・アクセス
クライアント/サーバー接続は、TimesTenデータベースと異なるマシンで実行されているアプリケーションを対象とします。ここでは、Websphere Application Serverは、リモート・マシンからTimesTenデータベースにアクセスすることができます。この接続モードではネットワーク(TCP/IP)によるオーバーヘッドが発生するため、直接リンク接続モードよりもレスポンスに時間がかかります。

TimesTenクラス: com.timesten.jdbc.ObservableConnectionDS

URLプロパティの例: jdbc:timesten:client:sampledb_1121

XA分散トランザクションを使用したクライアント/サーバー・アクセス
JDBCドライバでは、XA分散トランザクションがサポートされます。クライアント/サーバー接続の場合、Websphere Application Serverはリモート・マシンからTimesTenデータベースにアクセスできます。この接続タイプでは、分散トランザクションによるオーバーヘッドに加えてネットワークによるオーバーヘッドが発生します。

TimesTenクラス: com.timesten.jdbc.xa.TimesTenXADataSource

URLプロパティの例: jdbc:timesten:client:sampledb_1121

 

TimesTen JDBCプロバイダの構成

WebSphereによるTimesTenデータ・ストアへのアクセスを可能にするには、サーバー環境に、TimesTen JDBCドライバjarファイルおよびネイティブ・ライブラリにアクセスするための権限が必要です。WebSphereでこれを可能にするには、WebSphere管理コンソールでJDBCプロバイダを構成します。次の手順を実行します。

1.
Integrated Solution Consoleで、「Resources」→「JDBC」→「JDBC Providers」を選択します。
2.
ドロップダウン・リスト・ボックスから有効範囲を選択します
3.
「New」をクリックします。
4.
「Create new JDBC Provider」画面で、次のように設定します。
> Database type: 「User-defined」を選択します。
> Implementation class name: com.timesten.jdbc.ObservableConnectionDSと入力します。
> Name: TimesTen (local transactions)(図1を参照)
> 「Next」をクリックします。

図1
5. 「Enter database class path information」画面で、次のように設定します。

> TimesTen JDBCドライバのパスを入力します。Websphere Application Serverで使用されているJDKのバージョンに応じて、適切なTimesTen JDBCドライバjarファイル(TimesTen_install_dir/lib/ttjdbc5.jarまたはttjdbc6.jarのいずれか)を選択します。
> 「Next」をクリックします(図2を参照)。

図2

6. 「Summary」画面で、「Finish」をクリックします。
7. 「JDBC providers」画面で、作成したプロバイダ名をクリックします。
8. 「General properties」画面で、次のように設定します。
> 「Native library path」フィールドにTimesTen共有ライブラリのパスを入力します。UNIXプラットフォームの場合、パスはTimesTen_install_dir/libです。Windowsプラットフォームの場合、パスはTimesTen_install_dir/binです。(図3を参照)
> 「Apply」をクリックします。

図3
9. 「Save」をクリックして、新しい構成を保存します。

TimesTenデータ・ソースの構成

データ・ソースは、前述の項で定義された特定のJDBCプロバイダに関連付けられます。WebSphere管理コンソールからTimesTenデータ・ソースを構成するには、次の手順を実行します。

1.
WebSphere管理コンソールに接続します。
2..
「Resources」→「JDBC」→「Data sources」を選択します。
3.
ドロップダウン・リスト・ボックスから有効範囲を選択します。
4.
「New」ボタンをクリックします。
5.
「Enter basic data source information」画面で、データ・ソースの名前およびJNDI名を入力します。「Next」をクリックします。
6.
「Select JDBC provider」画面で、前述の項で作成したTimesTen JDBCプロバイダを選択します。「Next」をクリックします。
7.
「Enter database specific properties for the data source」画面で、「Data store helper class name」フィールドにcom.ibm.websphere.rsadapter.GenericDataStoreHelperを指定します。「Use this data store in container managed persistence」チェック・ボックスが選択されていることを確認します。「Next」をクリックします。
8.
次に表示されるサマリー画面で、「Finish」をクリックします。
9.
「Data sources」画面で、作成したTimesTenデータ・ソースの名前をクリックします。
10,
「Custom properties」をクリックします。
11.
「url property」をクリックします。
12.
「Value」フィールドに、このデータ・ソースが接続されるDSNのTimesTen JDBC URLを入力します。TimesTen URLの形式はjdbc:timesten:<direct|client>:<DSN>です。sampledb_1121という直接的なDSNの場合、画面は図4のようになります。

図4
13.
「Apply」をクリックします。
14
「Save」をクリックして、構成を保存します。
15.
新しいTimesTenデータ・ソースに接続する前に、サーバーを再起動します。

TimesTenの接続のトラブルシューティング

WebSphereでTimesTenを使用するときに、様々な問題が発生することがあります。次のリストに、一般的な問題について考えられる解決方法を示します。

1.
管理コンソールの「Data sources」画面でTimesTenデータ・ソースを選択して「Test Connection」をクリックすると、TimesTenでjava.lang.IllegalAccessError例外が発生します。この問題は、新しいTimesTenデータ・ソースを構成した後、サーバーを再起動しなかった場合に発生する可能性があります。問題を解決するためにサーバーを再起動してみます。
2.
WebSphere内からTimesTenデータ・ソースへの接続を確立しようとすると、TimesTenで例外「TT0837: Cannot attach data store shared-memory segment」が発生します。この問題は、TimesTenデータベースを保持するために十分な連続した共有メモリーをシステムが割り当てたり、マップすることができない場合に、32ビット・プラットフォームで発生する可能性があります。この問題およびその他の接続に関する問題を解決する方法の詳細は、『Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド』および『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。次のトラブルシューティング手順を実行することをお薦めします。

a.
WebSphere JVM以外のTimesTenデータ・ストアに接続できることを確認します。これにはttIsqlユーティリティを使用することができます。
b.
システムが使用できる共有メモリーの最大量を増やします。プラットフォーム固有の詳細は、『Oracle TimesTen In-Memory Databaseインストレーション・ガイド』を参照してください。
c.
PermSizeおよびTempSizeの接続属性の値がより小さいデータ・ストアを再作成することによって、TimesTenデータ・ストアのサイズを小さくします。
d.
システムで不要なプロセスを終了して、より多くのメモリーを使用できるようにします。
e.
WebSphereデータ・ソースに直接接続する代わりに、クライアント/サーバーTimesTen JDBC接続を使用します。
f.
可能な場合は、64ビット・バージョンのTimesTenおよびWebSphereを使用します。

このアイコンにカーソルを置くと、すべてのスクリーン・ショットが非表示になります。