Web モジュールからのドミノへのアクセスのためのクラスパス設定 (V4.0)

Java プログラムから、ドミノにアクセスするためには ncsow.jar などがクラスパスに入っている必要があります。

サーブレットなどの Web モジュールからアクセスする場合の基本的な設定の仕方をご紹介します。

まず、デフォルトのアプリケーション・サーバーのプロパティに「モジュールの可視性」というものがあります。
デフォルトは下記のように「モジュール」になっており、

オンラインヘルプには以下のように記述があります。

モジュールの可視性 
アプリケーション・サーバーに使用するクラス・ローダー分離モード。
  • サーバー全体にクラス・ローダーを 1 つ使用する場合は、「サーバー」を指定します。
  • エンタープライズ・アプリケーションごとにクラス・ローダーを 1 つ使用する場合は、「アプリケーション」と指定します。
  • モジュールごとにクラス・ローダーを 1 つ使用する場合は、「モジュール」と指定します。
  • WebSphere Application Server 3.5.x および 3.0.2.x からのアプリケーションの互換性を保つ場合は、「互換性」と指定します。

「モジュール」は、そのモジュールの中だけでクラスパスが完結している状態です。他のクラスパスを見に行きません。

モジュールへのクラスパスの指定は「アプリケーション・アセンブリー・ツール」を使用して指定します。
サーブレットの場合は Web モジュールですので、サーブレットがまとめられている Web モジュールを選択して「クラスパス」に指定するわけなのですが、その前に後で述べるこのような理由で先に必要な jar ファイルをJ2EEアーカイブに入れておかなくてはなりません。

J2EEアーカイブである、/installApps の中の *.ear ディレクトリ(この場合 sampleApp.ear です)に、ncsow.jar を (/QIBM/ProdData/Lotus/Notes/Shared/ncsow.jar から)コピーしておきます。

「アプリケーション・アセンブリー・ツール」でサーブレットが入っている Web モジュールを開きます。

「クラスパス」に ncsow.jar とファイル名を指定します。
このファイル名は ear ディレクトリ名 (J2EEアーカイブ) から相対パスでの指定になります。フルパスで"/QIBM/ProdData/Lotus/Notes/Shared/ncsow.jar"などと指定しても無視されるだけですのでご注意ください。

「クラスパス」フィールドについてのオンラインヘルプです。

追加のクラスパス
アーカイブで指定されたもの以外のリソースを参照するのに使われる、追加のクラスパスを指定します。この値は、EAR ファイルのルートに相対で指定し、それぞれの値はスペースで区切ってください。ハード・ディスク上のファイルやディレクトリーを参照する絶対値は無視されます。JAR ファイルには入っていないが、EAR ファイルのルートにあるクラスを指定するには、ピリオドとスラッシュ (./) を使用します。myapp.ear というファイルに mywebapp.war という名前の Web モジュールが入っている、ディレクトリー構造の例を以下に示します。追加のクラスが class1.jar と class2.zip に常駐しています。xyz.class という名前のクラスは JAR ファイルにパッケージされておらず、EAR ファイルのルートにあります。
myapp.ear/mywebapp.war
myapp.ear/class1.jar
myapp.ear/class2.zip
myapp.ear/xyz.class

追加のクラスパス・プロパティーの値として class1.jar class2.zip ./ を指定します。(.class ファイルのディレクトリーだけを指定します。)

[Top Pageに戻る]

Ads by TOK2