![]() ![]() ![]() ![]() |
以下の節では、リソース アダプタをパッケージ化およびデプロイする方法について説明します。
WebLogic Server へのアプリケーションのデプロイについては、『WebLogic Server アプリケーションの開発』の「分割開発ディレクトリからのデプロイメントとパッケージ化」で詳細に説明されています。
プロダクションおよび開発目的では、アセンブル済みのリソース アダプタ (RAR) をエンタープライズ アプリケーション (EAR) の一部としてパッケージ化することをお勧めします。
リソース アダプタは、applications/ ディレクトリ内のリソース アダプタ アーカイブ (RAR) に含まれる WebLogic Server コンポーネントです。デプロイメント プロセスは、リソース アダプタ プロバイダによって作成されたコンパイル済みリソース アダプタ インタフェースと実装クラスを格納する RAR またはデプロイメント ディレクトリで開始されます。RAR とデプロイメント ディレクトリは、どちらがコンパイル済みクラスを格納している場合でも、Java パッケージ構造と一致するサブディレクトリに入っている必要があります。
リソース アダプタでは、展開ディレクトリ形式または RAR のどちらにパッケージ化される場合でも、同じディレクトリ形式を使用します。リソース アダプタの一般的なディレクトリ構造をコード リスト 9-1 に示します。
/META-INF/ra.xml
/META-INF/weblogic-ra.xml
/META-INF/MANIFEST.MF (省略可能)
/images/ra.jpg
/readme.html
/eis.jar
/utilities.jar
/windows.dll
/unix.so
リソース アダプタに関するパッケージ化の要件は以下のとおりです。
ra.xml
と weblogic-ra.xml
) は、META-INF というディレクトリに入っていなければならない。 MANIFEST.MF
も META-INF
サブディレクトリに入っている。マニフェスト ファイルは JAR ツールによって自動的に生成され、常に JAR ファイルの最初のエントリとなります。マニフェスト ファイルのデフォルト名は META-INF/MANIFEST.MF
です。マニフェスト ファイルには、そのアーカイブのメタ情報が格納されます。MANIFEST.MF
内の class-path
エントリをサポートする。eis.jar
や utilities.jar
) を含めることができる。プラットフォーム固有のネイティブ ライブラリについて、リソース アダプタの依存関係がすべて解決されることを確認してください。windows.dll
や unix.so
) を含めることができる。readme.html
や /images/ra.jpg
) を含めることができる。
スタンドアロンのリソース アダプタを再ロードするときに、そのリソース アダプタを使用するクライアントを再ロードしない場合、クライアントは正常に機能しなくなる可能性があります。この制限事項は、リモート可用性のあるインタフェースを許可しないという J2CA 1.5 仕様の制限によるものです。
1 つまたは複数のリソース アダプタをディレクトリにステージングしたら、.rar
ファイル拡張子の付いた Java アーカイブ (JAR) にパッケージ化します。
注意 : | リソース アダプタをアセンブルした後は、エンタープライズ アプリケーションの一部としてパッケージ化することをお勧めします。これにより、従来の単一ディレクトリ構造に比べていくつかの利点がある分割開発ディレクトリ構造を利用できるようになります。『WebLogic Server アプリケーションの開発』の「分割開発ディレクトリ環境の作成」を参照してください。 |
リソース アダプタをステージングおよびパッケージ化するには、次の手順に従います。
META-INF
サブディレクトリを作成します。META-INF
サブディレクトリに ra.xml
デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。注意 : | ra.xml の文書型定義の詳細については、Sun Microsystems のドキュメント (http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd) を参照してください。 |
META-INF
サブディレクトリに weblogic-ra.xml
デプロイメント記述子を作成して、そのリソース アダプタのエントリを追加します。注意 : | weblogic-ra.xml ファイルの内容については、「weblogic-ra.xml スキーマ」を参照してください。 |
jar cvfjar-file
.rar -Cstaging-dir
このコマンドによって作成された RAR は、WebLogic Server にデプロイすることも、アプリケーション アーカイブ (EAR) にパッケージ化することもできます。
-C
staging-dir
オプションを指定すると、JAR コマンドはディレクトリを staging-dir
に変更します。これにより、JAR に記録されるディレクトリ パスがリソース アダプタのステージング ディレクトリを基準にした相対パスとなります。
このトピックの詳細については、「リソース アダプタの作成とコンフィグレーション : 主な手順」を参照してください。
リソース アダプタのデプロイメントは、Web アプリケーション、EJB、およびエンタープライズ アプリケーションのデプロイメントとほぼ同じです。これらのデプロイメント ユニットと同様、リソース アダプタも展開ディレクトリ形式でデプロイしたり、アーカイブ ファイルとしてデプロイしたりすることができます。
以下のツールのいずれかを使用して、スタンドアロンのリソース アダプタ (またはエンタープライズ アプリケーションの一部としてパッケージ化されたリソース アダプタ) をデプロイできます。
これらのアプリケーションのデプロイメント方法の詳細については、『WebLogic Server アプリケーションのデプロイメント』の「weblogic.deployer によるアプリケーションおよびモジュールのデプロイ」を参照してください。
デプロイメント プランを使用してリソース アダプタ デプロイメントをデプロイできます。リソース アダプタの場合、WebLogic Server デプロイメント プランは、RAR の外部にあるオプションの XML ドキュメントであり、特定の WebLogic Server 環境のデプロイメントとしてリソース アダプタがコンフィグレーションされます。デプロイメント プランでは、リソース アダプタのデプロイメント記述子で通常定義するようなデプロイメント プロパティ値を設定したり、デプロイメント記述子ですでに定義されているプロパティ値をオーバーライドしたりします。デプロイメント プランの詳細については、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション デプロイメントのためのアプリケーションのコンフィグレーション」を参照してください。
自動デプロイメントを使用してリソース アダプタをデプロイすることもできます。この方法は開発時や初期テスト時に便利です。詳細については、『WebLogic Server アプリケーションのデプロイメント』の「開発ドメインへのアプリケーションの自動デプロイ」を参照してください。
リソース アダプタ アーカイブ (RAR) またはデプロイメント ディレクトリをデプロイする場合は、myResourceAdapter のように、デプロイメント ユニットの名前を指定する必要があります。この名前を使用すると、後でリソース アダプタをアンデプロイしたり更新したりする場合に、リソース アダプタのデプロイメントを簡単に参照できます。
リソース アダプタをデプロイする場合は、WebLogic Server が、RAR またはデプロイメント ディレクトリのパスおよびファイル名と一致するデプロイメント名を暗黙的に割り当てます。この名前を使用すると、サーバが起動した後にリソース アダプタをアンデプロイまたは更新できます。
リソース アダプタのデプロイメント名は、サーバが再起動されるまで、WebLogic Server 内でアクティブなままです。リソース アダプタをアンデプロイしても、関連付けられたデプロイメント名は削除されません。したがって、後でその名前を使用してリソース アダプタを再デプロイできます。
WebLogic Server のプロダクションの再デプロイメント機能を使用すると、同じアプリケーションの古いバージョンと一緒に、WebLogic Server アプリケーションの新しいバージョンを再デプロイできます。デフォルトでは、WebLogic Server は直ちに新しいクライアント要求を新しいバージョンのアプリケーションにルーティングする一方で、既存のクライアント接続は古いバージョンにルーティングします。古いバージョンのアプリケーションを使用するすべてのクライアントが作業を完了したら、WebLogic Server は、新しいバージョンだけがアクティブになるように、古いバージョンを廃止します。
一般に、リソース アダプタ Bean は javax.resource.spi.ResourceAdapter インタフェースを実装します。このインタフェースでは start()
および stop()
メソッドを定義しています。このタイプのリソース アダプタではプロダクションの再デプロイメントを行うことはできません。リソース アダプタは着信/発信通信で 1 つまたは複数の EIS に接続します。すべての通信は、アプリケーション サーバの知識を使用せずに、リソース アダプタ独自の方法で実行されます。実行時にプロダクションの再デプロイメントが試行された場合、アプリケーション サーバは、既存のリソース アダプタから新しいインスタンスへの接続の移行を管理できるように、リソース アダプタに通知を提供するだけです。ただし、リソース アダプタは Suspendable
インタフェースを実装できます。このインタフェースは、リソース アダプタがプロダクションの再デプロイメントに参加するための機能を提供します。Suspendable
インタフェースの実装の詳細については、「リソース アダプタのアクティビティの中断と再開」を参照してください。
プロダクションの再デプロイメントが機能するためには、リソース アダプタの古いバージョンと新しいバージョンの両方で、以下の要件をすべて満たしている必要があります。満たされていない場合、再デプロイメントは失敗します。
Suspendable
インタフェースを実装する必要がある (コード リスト 4-3 を参照)。Suspendable.supportsVersioning()
メソッドは true
を返す必要がある。weblogic-ra.xml
記述子の enable-access-outside-app 要素を false
に設定する必要がある。
以下のプロセスでは、リソース アダプタの古いバージョンがデプロイされて実行中であると仮定しています。また、古いバージョン (「old
」) と新しいバージョン (「new
」) の両方のリソース アダプタが、「プロダクションの再デプロイメントの要件」で述べた要件をすべて満たしており、『WebLogic Server アプリケーションのデプロイメント』の「プロダクション環境でのアプリケーションの再デプロイメント」で示されたアプリケーションの要件も満たしていることとします。
プロダクションの再デプロイメント時に、リソース アダプタに以下のような呼び出しが行われます。
new.init(old, null)
を呼び出して、新しいリソース アダプタに古いリソース アダプタと交代することを通知します。old.startVersioning(new, null)
を呼び出して、古いリソース アダプタに、新しいリソース アダプタと共にプロダクションの再デプロイメント処理を開始することを通知します。new.start(extendedBootstrapContext)
を呼び出します。「拡張された BootstrapContext」を参照してください。(ExtendedBootstrapContext)bsCtx.complete()
を呼び出します。これは、WebLogic Server に、古いリソース アダプタをアンデプロイしてもよいことを通知するものです。old.stop()
を呼び出して、プロダクションの再デプロイメントは完了します。
new.init()
と old.startVersioning()
の呼び出しによって、新旧のリソース アダプタは、着信または発信の通信を古いリソース アダプタから新しいリソース アダプタに移行することができます。この処理方法は個々のリソース アダプタ開発者の裁量に任されています。
![]() ![]() ![]() |