OC4Jで提供されるコマンドライン・ユーティリティadmin_client.jarは、Oracle Application Serverクラスタ環境のアクティブなOC4JインスタンスやスタンドアロンOC4Jサーバーで、デプロイ関連操作を実行します。また、admin_client.jarを使用してOC4Jインスタンスまたはインスタンス・グループを再起動または停止できます。
またadmin_client.jarユーティリティは操作をリモートで実行するための管理クライアント・ユーティリティの一部でもあり、これはOracle Application Server 10gリリース3(10.1.3.4.0)のCDで、またはOracle Technology Networkからダウンロードして入手できます。
デプロイ操作は、特定のOC4Jインスタンス、またはグループ内のすべてのOC4Jインスタンスで同時に実行できます。 Oracle Application Server 10gリリース3(10.1.3.4.0)では、グループとは、同じクラスタ・トポロジに属する一連の同期的なOC4Jインスタンスを指し、クラスタ・トポロジは緩やかに接続された2つ以上のOracle Application Serverノードを指します。 admin_client.jarコマンドライン・ユーティリティを使用することで、OC4JインスタンスまたはOC4Jインスタンス・グループで次の操作を実行できます。
エンタープライズ・アプリケーション・アーカイブ(EAR)、スタンドアロンWebモジュール(WAR)、Enterprise JavaBeans(EJB)モジュール(EJB JAR)、またはスタンドアロン・リソース・アダプタ(RAR)をデプロイする。
アプリケーション、Webモジュール、EJBモジュールまたはリソース・アダプタをアンデプロイする。
デプロイ済EJBモジュールを変更されたクラスで増分更新する。
アプリケーションに対する共有ライブラリを作成、変更または削除する。
アプリケーションを起動、再起動または停止する。
OC4Jインスタンスやインスタンス・グループを再起動または停止する。
データソースとデータソース接続プールを追加、テストおよび削除する。
JMS接続プールとJMS宛先を追加および削除する。
Application Server ControlまたはOC4J Antタスクで同様の操作を実行できます。 詳細は、第9章「デプロイに対するApplication Server Controlの使用方法」または第10章「デプロイに対するOC4J Antタスクの使用方法」を参照してください。
次の項目について説明します。
admin_client.jarユーティリティは、各OC4Jインスタンス内のORACLE_HOME/j2ee/instanceディレクトリにデフォルトでインストールされます。これは、OC4Jで操作を実行する場合の推奨コマンドライン・ツールです。 また、このユーティリティは操作をリモートで実行するための管理クライアント・ユーティリティ内にあり、これはOracle Application Server 10gリリース3(10.1.3.4.0)のCDまたはOracle Technology Networkからのダウンロードで入手できます。
このユーティリティがOC4Jインスタンスで操作を実行する前に、インスタンスを起動する必要があります。
次の項目について説明します。
admin_client.jarユーティリティは次の構文を使用します。
java -jar admin_client.jar uri adminId adminPassword command
このコマンドラインで渡される重要なパラメータはuriです。これは、指定するコマンドのターゲットを指定します。URIの構文は、ターゲットのインスタンスによって異なります。このURIの書式は、次の項目を参照してください。
OC4J管理者のユーザー名とパスワードもadmin_client.jarユーティリティに渡します。デフォルトの管理者アカウントのユーザー名はoc4jadminです。
たとえば、次のコマンドによってpetstoreアプリケーションが起動されます。このアプリケーションは、クラスタのメンバーであるnode1のoc4j_2というOC4Jインスタンスにインストールされています。
java -jar admin_client.jar deployer:oc4j:opmn://node1.company.com/oc4j_2 oc4jadmin password -application petstore -start
図11-1は、クラスタ内のOracle Application Serverインスタンスの1つで、OC4J_homeというOC4Jインスタンスから実行するように構成されている4つのプロセスを示しています。
図11-1 クラスタ内のOracle Application Serverインスタンスにおいて複数のJVMで実行中のOC4Jインスタンス

|
注意: homeというOC4Jインスタンスは通常、複数のプロセスで実行するようには構成されません。複数のプロセス・モデルでの実行に適していないApplication Server Controlアプリケーションを、このインスタンスがホスティングするためです。 |
グループ内のすべてのOC4Jインスタンスをデプロイ・ターゲットとして指定する場合は、次のURIを使用します。 グループは、同じクラスタ・トポロジに属するOC4Jインスタンスの同期的なセットです。デプロイ操作は、グループ内のすべてのOC4Jインスタンスで同時に実行できます。たとえば、クラスタ内のデフォルト・グループ(default_group)に属する、すべてのOC4Jインスタンスで同時にデプロイ操作を実行するターゲットとして、default_groupを指定できます。
URIでは、クラスタ・ノードが互いに認識する、OPMNベースのクラスタリング・フレームワークが使用されます。クラスタ内のOracle Application Serverノードに対するホスト名と、オプションでOPMNリクエスト・ポートのみを指定する必要があります。これによってアプリケーションは、クラスタ内の他のノードすべてに対するホスト名およびOPMNポートを取得することが可能になります。
URIの構文は次のとおりです。
deployer:cluster:[rmis]:opmn://opmnHost[:opmnPort]/groupName
次に例を示します。
deployer:cluster:opmn://node1.company.com/default_group
表11-1 ターゲットがグループの場合のURIパラメータ
| パラメータ | 説明 |
|---|---|
|
rmis |
オプション。ターゲットでORMI over SSL(ORMIS)を利用している場合に指定します。 |
|
|
必須。クラスタ内のOracle Application Serverノードのホスト名。任意のノードを指定できます。クラスタの他のノードのリストは、このノードから取得されます。 |
|
|
オプション。 |
|
|
必須。クラスタ内の、OC4Jインスタンスが属するグループの名前。 |
クラスタ内のインスタンスを含めた、特定のOPMN管理のOC4Jインスタンスをターゲットとする場合は、次のURI構文を使用します。接頭辞では、clusterがoc4jで置き換えられます。
インスタンスのホストとして機能するOracle Application Serverノードのホスト名を指定します。ノードのホスト名またはポートが不明な場合は、クラスタ内の別のノードのホスト名とOracle Application Serverインスタンスの名前を指定することができます。アプリケーションはOPMNクラスタリング・フレームワークを使用して、Oracle Application Serverインスタンスのホストとして機能するノードを見つけます。
URIの構文は次のとおりです。
deployer:oc4j:[rmis]:opmn://host[:opmnPort]/[iASInstanceName]/oc4jInstanceName
次に例を示します。
deployer:oc4j:opmn://server.company.com:6004/instance2/home
表11-2 ターゲットが特定インスタンスの場合のURIパラメータ
| パラメータ | 説明 |
|---|---|
|
|
オプション。ターゲットでORMI over SSL(ORMIS)を利用している場合に指定します。 |
|
|
必須。OPMNサーバーとして使用するクラスタ内の、ターゲットとするOracle Application Serverノードのホスト名。 |
|
|
オプション。 |
|
|
オプション。ターゲットとするOracle Application Serverインスタンスの名前( |
|
|
必須。ターゲットOC4Jインスタンスの名前。 |
スタンドアロンOC4Jサーバー・インスタンスをターゲットとする場合は、次のいずれかのURIを使用します。
RMIを使用する場合、URIを次のように指定します。
deployer:oc4j:host:rmiPort
次に例を示します。
deployer:oc4j:myserver:23791
ORMI over SSL(ORMIS)を使用する場合、URIを次のように指定します。
deployer:oc4j:rmis:host:ormisPort
次に例を示します。
deployer:oc4j:rmis:myserver:23943
表11-3 ターゲットがスタンドアロンOC4Jの場合のURIパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ターゲットでORMI over SSL(ORMIS)を利用している場合は必須。 |
|
|
必須。クラスタ内のOracle Application Serverノードのホスト名。任意のノードを指定できます。クラスタの他のノードのリストは、このノードから取得されます。 |
|
|
RMIを使用する場合は必須。インスタンス固有の |
|
|
ORMISを使用する場合は必須。インスタンス固有の |
管理クライアント・ユーティリティのディストリビューションにはadmin_client.jarコマンドライン・ユーティリティが含まれています。 このユーティリティはOC4JまたはOracle Application Serverターゲットに接続し、ライフサイクル、デプロイおよびリソース構成などの一連の操作を実行します。
リモート・システムがOracle Application Serverインスタンスに対して定期的な操作を実行する必要がある場合を想定してください。たとえばリモート・システムに、デプロイ操作や、アプリケーション固有またはサーバーのJMX MBeansの管理目的による問合せや操作など、自動的なビルドまたはテスト・プロセスが存在する場合です。 あるいはリモート・システムが、テスト環境から本番環境への移行において定期的にスケジュールされた一連の構成およびデプロイ操作を実行する場合です。 管理クライアント・ユーティリティを使用すれば、リモート・システムにOC4JまたはOracle Application Serverをすべてインストールする必要なしに、これらを実行できます。
Oracle Application Server 10gリリース3(10.1.3.4.0)用の独立ディストリビューションである管理クライアント・ユーティリティは、Oracle Technology Networkからダウンロードして、またはOracle Application ServerのCDで入手できます。 ディストリビューション・ファイルのoc4j_admin_client_101340.zipには、OC4Jインスタンスをリモートに管理するために必要な次の要素がすべて含まれています。
OC4JまたはOracle Application ServerターゲットへのORMIプロトコルを使用したリモートJMX接続の確立に必要なJavaライブラリ
運用に必要なライブラリを含む、実行可能なadmin_client.jarユーティリティ
リモート・クライアント・ロールに関連する標準J2EEライブラリ
管理クライアント・ユーティリティをダウンロードおよび抽出する手順:
Oracle Technology Networkからoc4j_admin_client_101340.zipをダウンロードします。
http://download.oracle.com/otn/java/oc4j/10131/oc4j_admin_client_101340.zip
oc4j_admin_client_101340.zipの内容をローカル・ディレクトリに抽出します。次に例を示します。
>mkdir oc4j_admin_client >cd oc4j_admin_client >jar xvf d:\software\oc4j_admin_client_101340.zip
生成されるディレクトリ構造は次のようになります。
\j2ee
\home
oc4jclient.jar
admin_client.jar
\lib
ejb.jar
mail.jar
adminclient.jar
javax88.jar
javax77.jar
jmx_remote_api.jar
jmxri.jar
\lib
xmlparserv2.jar
dms.jar
\opmn
\lib
optic.jar
\jlib
oraclepki.jar
ojpse.jar
次のURIは異なるOC4Jターゲットに対して異なるパターンを使用します。
スタンドアロンOC4Jサーバー:
deployer:oc4j:test-cycle.oracle.com:23791
Oracle Application Serverの特定のOC4Jインスタンス:
deployer:oc4j:opmn://test-cycle.oracle.com/testunit
クラスタ内のOC4Jインスタンスのグループ:
deployer:cluster:opmn://test-cycle.oracle.com/[groupName]
admin_client.jarをターゲットのOC4Jインスタンスに接続し、接続をテストします。次に例を示します。
>cd j2ee\home
>java -jar admin_client.jar
deployer:oc4j:opmn://test-cycle.oracle.com/testunit
oc4jadmin welcome1
–validateURI
URI deployer:oc4j:opmn://test-cycle.oracle.com/testunit is valid and connected
admin_client.jarコマンドに関するオンライン・ヘルプのテキストをコンソールに表示するには、コマンドラインで-helpと入力します。次に例を示します。
java -jar admin_client.jar -help
特定のコマンドに対するヘルプを表示するには、-usageに続けてコマンド識別子を入力します。次に例を示します。
java -jar admin_client.jar -usage [command]
admin_client.jarの実行時に発生するエラーのトラブルシューティングのために、このツールの実行時にJavaロギングを有効にすることができます。ログ・メッセージはコンソールに出力されます。
ロギングを有効化する手順は、次のとおりです。
次の1行を含むlogging.propertiesファイルを作成します。
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=INFO
このファイルをORACLE_HOME/j2ee/instance以外の場所に作成した場合は、次のコマンドにファイルのパスを指定する必要があります。
admin_client.jarコマンドラインで次のように-Djava.util.logging.config.file=logging.propertiesを設定します。
java -Djava.util.logging.config.file=logging.properties -jar admin_client.jar uri adminId adminPassword command
logging.propertiesファイルの値は、表11-4内のいずれかのJavaログ・レベル値に設定できます。
表11-4 Javaログ・レベル
| Javaログ・レベル | 説明 |
|---|---|
SEVERE |
システム管理者の注意を要するシステム・エラーをロギングします。 |
WARNING |
確認の必要があり、エラーが発生する前に処理が必要になる可能性がある操作や条件の検出をロギングします。 |
INFO |
通常の操作またはイベントをロギングします。これには、ログイン完了などのユーザー操作や、ログ・ファイルのローテーションなどの自動処理が該当します。 |
CONFIG |
ログ構成に関連するログ・メッセージまたは問題。 |
FINE |
デバッグやパフォーマンス監視に使用されるトレース・メッセージまたはデバッグ・メッセージをロギングします。通常、詳しいイベント・データが含まれます。 |
FINER |
非常に詳細なトレース・メッセージまたはデバッグ・メッセージをロギングします。 |
FINEST |
さらに詳細なトレース・メッセージまたはデバッグ・メッセージをロギングします。 |
次に例を示します。
oracle.oc4j.admin.jmx.client.CoreRemoteMBeanServer.level=FINE
admin_client.jarユーティリティを使用して、アプリケーション(EAR)、スタンドアロンWebモジュール(WAR)またはスタンドアロン・リソース・アダプタ(RAR)を、特定のOC4JインスタンスまたはOC4Jインスタンス・グループにデプロイすることができます。
次の項目について説明します。
|
注意: グループに対してアーカイブをデプロイする場合は、すべてのインスタンスのoc4jadminアカウントのパスワードが同じであることが必要です。 |
EARファイルにパッケージされたJ2EEアプリケーションをデプロイまたは再デプロイするには、-deployコマンドを使用します。EAR固有構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -deploy -file path/filename -deploymentName appName [-bindAllWebApps [webSiteName]] [-targetPath path] [-parent appName] [-deploymentDirectory path] [sequential [waitsec]] [-enableIIOP] [-iiopClientJar path/filename] [-deploymentPlan path/filename] [-removeArchive]
-bindAllWebAppsパラメータを指定して、EAR内のすべてのWebモジュールを、アクセスに使用するWebサイトにバインドできます。Webサイトを指定しない場合、モジュールはdefault Webサイトにバインドされます。
たとえば次のコマンドでは、utilityアプリケーションが、クラスタ内のdefault_groupグループに属するすべてのOC4Jインスタンスにデプロイされます。アプリケーションのすべてのWebモジュールは、default Webサイトにバインドされます。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -deploy -file C:/dev/utility.ear -deploymentName utility -bindAllWebApps
表11-5 EARデプロイのための-deployコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。デプロイするEARファイルのパスとファイル名。 |
|
|
必須。ユーザー定義のアプリケーション・デプロイ名。OC4J内でのアプリケーションの識別に使用されます。 |
|
|
オプション。 指定したWebサイトにEARのすべてのWebモジュールがバインドされます。指定がない場合、
このパラメータを指定しない場合、デプロイ後に |
|
|
オプション。EARのデプロイ先のディレクトリ。 ディレクトリを指定しない場合、EARはデフォルトで デプロイ済EARファイルもこのディレクトリにコピーされます。連続してデプロイを行うと、毎回このEARファイルが上書きされます。 |
|
|
オプション。このアプリケーションの親アプリケーション。デフォルトは |
|
|
オプション。アプリケーションに適用するデプロイ・プランのパスとファイル名。プランは、以前のデプロイ時にXMLファイルとして保存されている場合があります。このファイルはローカル・ホストに存在する必要があります。 |
|
|
オプション。OC4J固有のデプロイメント・ディスクリプタと生成されるファイル(コンパイル済JSPクラスやEJBラッパー・クラスなど)を含むディレクトリ。 デフォルト・ディレクトリは |
|
|
オプション。 グループ内の各OC4Jインスタンスにアーカイブをデプロイする場合に指定します。 各ターゲットOC4Jインスタンスへのデプロイが完了しなければ、次のターゲット・インスタンスへのデプロイは開始されません。 OC4JインスタンスにEARがデプロイされている間は、リクエストはそのインスタンスにルーティングされません。
-sequential 15
このパラメータを指定しない場合、デフォルトでグループ内のすべてのOC4Jインスタンスにアーカイブが同時にデプロイされます。 このオプションはクラスタ環境のみで有効です。スタンドアロンOC4Jでは無効です。 |
|
|
オプション。 このパラメータは、IIOPクライアント・スタブをOC4Jサーバーで生成するときに指定します。 すべてのEJBモジュールに対して生成されたアプリケーションレベルのスタブは、 この機能を使用するには、 |
|
|
オプション。 IIOPクライアント・スタブを出力するJARのパスとファイル名。 すべてのEJBモジュールに対して生成されたアプリケーションレベルのスタブは、 また、個別のEJBモジュールに対するスタブは、 この機能を使用するには、 |
|
|
オプション。 デプロイ後にサーバーのファイル・システムからEARファイルを削除する場合に指定します。 |
リモート・クライアントからOracle Application Server上の特定のOC4JインスタンスにEARをデプロイする場合の例を、次に示します。
cd j2ee/home >java -jar admin_client.jar deployer:oc4j:opmn://test-cycle.oracle.com/testunit oc4jadmin welcome1 -deploy -file d:\temp\rupg\testru.ear -deploymentName testru –bindAllWebApps 06/06/20 17:00:16 Notification ==>Uploading file testru.ear ... 06/06/20 17:00:18 Notification ==>Application Deployer for testru STARTS. 06/06/20 17:00:19 Notification ==>Copy the archive to /scratch/sbutton/m1_060618/j2ee/admin/applications/testru.ear 06/06/20 17:00:19 Notification ==>Initialize /scratch/sbutton/m1_060618/j2ee/admin/applications/testru.ear begins... 06/06/20 17:00:19 Notification ==>Unpacking testru.ear 06/06/20 17:00:20 Notification ==>Done unpacking testru.ear 06/06/20 17:00:20 Notification ==>Unpacking testru-web.war 06/06/20 17:00:20 Notification ==>Done unpacking testru-web.war 06/06/20 17:00:20 Notification ==>Initialize /scratch/sbutton/m1_060618/j2ee/admin/applications/testru.ear ends... 06/06/20 17:00:20 Notification ==>Starting application : testru 06/06/20 17:00:20 Notification ==>Initializing ClassLoader(s) 06/06/20 17:00:20 Notification ==>Initializing EJB container 06/06/20 17:00:20 Notification ==>Loading connector(s) 06/06/20 17:00:20 Notification ==>Starting up resource adapters 06/06/20 17:00:20 Notification ==>Initializing EJB sessions 06/06/20 17:00:20 Notification ==>Committing ClassLoader(s)06/06/20 17:00:20 Notification ==>Initialize testru-web begins... 06/06/20 17:00:20 Notification ==>Initialize testru-web ends... 06/06/20 17:00:21 Notification ==>Started application : testru 06/06/20 17:00:21 Notification ==>Binding web application(s) to site default-web-site begins... 06/06/20 17:00:21 Notification ==>Binding testru-web web-module for application testru to site default-web-site under context root /testru 06/06/20 17:00:22 Notification ==>Binding web application(s) to site default-web-site ends... 06/06/20 17:00:22 Notification ==>Application Deployer for testru COMPLETES. Operation time: 3785 msecs
WARファイルとしてパッケージされたスタンドアロンWebモジュールをデプロイまたは再デプロイするには、-deployコマンドを使用します。
WAR固有構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -deploy -file path/filename -deploymentName appName [-bindAllWebApps [webSiteName]] [-targetPath path] [-parent appName] [-deploymentDirectory path] [-contextRoot context] [-removeArchive]
WARは、Webモジュール・コンポーネントをまだ含んでいない、他のデプロイ済アプリケーションの子として指定できます。指定しない場合、WARはdefaultアプリケーションにデプロイされます。
WARは、すでにWebモジュールが含まれているアプリケーションの子としてデプロイすることはできません。つまり、acmeアプリケーションにすでにacme-web.warが含まれる場合は、別のWARファイルをそのアプリケーションにデプロイすることはできません。アプリケーションのEARファイルにWARを再パッケージして、アプリケーションを再デプロイしてください。
次のコマンドでは、node1をメンバーとして含むクラスタ内のdefault_groupに属するすべてのOC4Jインスタンスで、スタンドアロンacme-web.war Webモジュールがdefaultアプリケーションにデプロイされます。 -bindAllWebAppsパラメータが指定されているため、バインドするWebサイトは指定されていませんが、モジュールはdefault Webサイトにバインドされます。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -deploy -file C:/dev/acme-web.war -deploymentName utility -bindAllWebApps -parent default
表11-6 WARデプロイのための-deployコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。デプロイするアーカイブのパスとファイル名。 |
|
|
必須。 ユーザー定義のWebモジュール名。OC4J内でのモジュールの識別に使用されます。 |
|
|
オプション。 指定したWebサイトにWebモジュールがバインドされます。指定がない場合、
|
|
|
オプション。アーカイブのデプロイ先のディレクトリ。 ディレクトリを指定しない場合、アーカイブはデフォルトで スタンドアロンWARファイルを含む生成済EARファイルもこのディレクトリにコピーされます。連続してデプロイを行うと、毎回このアーカイブが上書きされます。 |
|
|
オプション。モジュールがデプロイされる親アプリケーション。デフォルトは |
|
|
オプション。OC4J固有のデプロイメント・ディスクリプタと生成されるファイル(コンパイル済JSPクラスなど)を含むディレクトリ。 デフォルト・ディレクトリは |
|
|
オプション。 Webモジュールのコンテキスト・ルート。Webブラウザを介してアプリケーションにアクセスするときに、URLの最後に付加されます。 コンテキスト・ルートを指定しない場合、 たとえば、コンテキスト・ルートとして
|
|
|
オプション。デプロイ後にサーバーのファイル・システムからWARファイルを削除する場合に挿入します。 |
RARファイルとしてパッケージされたJava Connector Architecture準拠のリソース・アダプタをデプロイまたは再デプロイするには、-deployコマンドを使用します。リソース・アダプタは、デフォルトでORACLE_HOME/j2ee/instance/connectorsディレクトリにデプロイされます。
スタンドアロンRARの再デプロイまたはアンデプロイでは、defaultアプリケーションの再起動が不要です。
RAR固有構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -deploy -file path/filename -deploymentName connectorName [-nativePathLib path] [-grantAllPermissions] [-removeArchive]
次のコマンドでは、クラスタ内のdefault_groupに属するすべてのOC4Jインスタンスにacme-rar.rarモジュールがデプロイされます。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -deploy -file /dev/acme-rar.rar -deploymentName acme-rar -grantAllPermissions -removeArchive
表11-7 RARデプロイのための-deployコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。デプロイするRARファイルのパスとファイル名。 |
|
|
必須。ユーザー定義のコネクタ名。OC4J内でのコネクタの識別に使用されます。 |
|
|
オプション。RARファイル内のネイティブ・ライブラリ(DLLなど)を含むディレクトリのパス。 |
|
|
オプション。 必要であればこのパラメータを指定して、リソース・アダプタでリクエストされるすべてのランタイム権限を付与します。 |
|
|
オプション。 このパラメータは、デプロイ後にサーバーのファイル・システムからRARファイルを削除する場合に挿入します。 |
詳細は、第6章「リソース・アダプタのデプロイ」を参照してください。
デプロイ・コマンドを含むスクリプト・ファイルをadmin_client.jarコマンドラインで指定できます。-scriptコマンドでファイルを指定すると、admin_client.jarはデプロイメント・マネージャへの1つの接続のみでコマンド・リストを実行します。 バッチ・デプロイの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -script filename
スクリプト・ファイルのfilenameには、次の例のような複数の行が含まれます。
-deploy -file /scratch/rpan/apps/hello-planet.ear -deploymentName hello-planet -bindWebApp -appName hello-planet -webModuleName hello-planet-web -stop hello-planet -start hello-planet -redeploy -file /scratch/rpan/apps/hello-planet.ear -deploymentName hello-planet -bindAllWebApps -undeploy hello-planet -validateURI
インストールからスクリプトまたはログを参照し、既存の構成アシスタントで使用される関連行を抽出することでバッチ・モードに変換できます。
OC4JにデプロイするすべてのWebモジュールは、アクセスに使用されるWebサイトにバインドする必要があります。
通常、EAR内のWARファイルとしてパッケージされたWebモジュールをバインドするのは、EARが-deployコマンドの-bindAllWebAppsパラメータを使用してデプロイされるときです。 ただし、EARがデプロイされるときに-bindAllWebAppsパラメータが指定されなかった場合は、デプロイ後にモジュールをWebサイトにバインドすることができます。次の項目で詳しく説明します。
-bindAllWebAppsコマンドを使用して、J2EEアプリケーション内のすべてのWebモジュールを、同一のWebサイトまたはデフォルトのdefault-web-siteにバインドします。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -bindAllWebApps -appName appName -webSiteName siteName
-bindWebAppコマンドを使用して、J2EEアプリケーション内の特定のWebモジュールを、指定したWebサイトまたはdefault Webサイトにバインドします。 Webモジュールへのアクセスに使用するコンテキスト・ルートを設定することもできます。
このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -bindWebApp -appName appName -webModuleName moduleName -webSiteName siteName -contextRoot contextRoot
表11-9 -bindWebAppコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。デプロイ時に指定した親アプリケーションの名前。 |
|
|
必須。バインドするWebモジュールの名前。 EARファイルに含まれるWARファイルの名前から |
|
|
オプション。 Webサイト構成を含む |
|
|
オプション。Webモジュールのコンテキスト・ルート。これは、Webブラウザによるアプリケーションへのアクセスに使用される次のようなURLに付加されます。
コンテキスト・ルートを指定しない場合、親アプリケーションの |
-redeployコマンドを使用して、以前デプロイしたアーカイブを再デプロイします。
この操作では、正常な再デプロイが実行されます。つまり、アプリケーションが実行中であれば、停止してからアーカイブをアンデプロイします。その後、アプリケーションをデプロイして再起動します。一方、-deployコマンドによるアーカイブの再デプロイでは、アプリケーションは停止されません。アンデプロイ、再デプロイおよび再起動が実行されるのみです。
このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -redeploy -file path/filename -deploymentName appName [-bindAllWebApps] [-isConnector] [-keepSettings] [-sequential [waitsec]] [-removeArchive]
表11-10 -redeployコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。 再デプロイするEAR、WARまたはRARファイルのパスとファイル名。 |
|
|
必須。ユーザー定義のアプリケーション・デプロイ名。OC4J内でのアプリケーションの識別に使用されます。 この値は、サーバー上の既存のアプリケーションの名前と一致する必要があります。 |
|
|
スタンドアロンRARの再デプロイでは必須。 |
|
|
オプション。 指定したWebサイトにEARのすべてのWebモジュールがバインドされます。指定がない場合、
別の方法として、「WebモジュールとWebサイトのデプロイ後のバインド」の手順に従って、後からすべてのWebモジュールをWebサイトにバインドできます。 |
|
|
オプション。 このパラメータを指定すると、再デプロイされたアプリケーションが、以前のデプロイのデプロイ・プランをフェッチして使用します。アーカイブにパッケージされているデプロイメント・ディスクリプタに設定された値は無視されます。 このパラメータを指定しない場合、アーカイブにパッケージされたデプロイメント・ディスクリプタの値が設定されます。 |
|
|
オプション。 グループ内の各OC4Jインスタンスに順にアーカイブを再デプロイする場合に指定します。 各ターゲットOC4Jインスタンスへの再デプロイが完了しなければ、次のターゲット・インスタンスへの再デプロイは開始されません。 OC4Jインスタンスにアーカイブが再デプロイされている間は、リクエストはそのインスタンスにルーティングされません。
-sequential 15 このパラメータを指定しない場合、デフォルトでグループ内のすべてのOC4Jインスタンスにアーカイブが同時にデプロイされます。 このオプションはクラスタ環境のみで有効です。スタンドアロンOC4Jでは無効です。 |
|
|
オプション。 デプロイ後にサーバーのファイル・システムからEAR、WARまたはRARファイルを削除する場合に指定します。 |
admin_client.jar -redeployコマンドの-sequentialパラメータに基づいてグループにアプリケーションを再デプロイする場合、再デプロイ操作は順番に実行されます。再デプロイは、一度に1つのOC4Jインスタンスに対して実行されるため、ターゲット・アプリケーションが完全に停止状態になることはありません。 順次再デプロイでは、現在のOC4Jインスタンスに対する再デプロイ操作が完了すると、デプロイメント・マネージャにより、アプリケーション・クラスタのメンバーを実行している次のOC4Jインスタンスに対する再デプロイが即座に開始されます。 この結果、次の再デプロイが開始される前に新規アプリケーション・インスタンスを完全にアクティブにするために、システムの安定性が失われる可能性があります。これにより、次の副次的影響が発生する可能性があります。
あるOC4Jインスタンス上でアプリケーションが停止されている間、アプリケーションが他のインスタンスで使用可能であるとmod_oc4jに通知されるまで、アプリケーションにアクセスできなくなる可能性があります。
セッション・レプリケーション・アクティビティは、実行の機会を失う可能性があります。
一部の環境では、admin_client.jar -redeployコマンドでクラスタにアプリケーションを再デプロイする場合に、-sequentialおよび-keepsettingsパラメータを指定していてもアプリケーションのセッション状態が失われることがあります。
OC4J 10g(10.1.3.4.0)では、-sequentialパラメータのwaitsecオプションを使用して、アプリケーション・クラスタを実行中の異なるOC4Jインスタンスに対する各再デプロイ間の秒数を指定できます。 この遅延により、セッション状態のレプリケーションに十分な時間を確保できます。
オプションのwaitsec値が指定されると、デプロイメント・マネージャは、グループ内のOC4Jインスタンスに対する各再デプロイ操作間において指定の秒数待機します。 この遅延により、システムでは、グループ全体にわたる再デプロイ操作の発生時に安定性を保つことが可能となり、アプリケーションにアクセスできなくなる可能性やセッション状態が失われる可能性が低減します。
たとえば、次のadmin_client.jar -redeployコマンドでは、異なるOC4Jインスタンスに対する再デプロイ間に15秒の遅延を指定しています。
java -jar admin_client.jar deployer:cluster:opmn://host:port/home oc4jadmin password -redeploy -file "myapp.ear" -deploymentName rolling -sequential 15 -keepsettings
新しいwaitsecオプションは、admin_client.jar -deployコマンドの-sequentialパラメータにも適用されます。
-undeployコマンドを使用して、アプリケーション、スタンドアロンWebモジュールまたはスタンドアロン・コネクタ・モジュールをターゲットOC4Jインスタンスから削除します。これらについて次の項目で説明します。
EARまたはスタンドアロンWebモジュールをアンデプロイすると、OC4Jランタイムから削除されます。既存のWebサイトとのバインドも削除されます。
EARまたはスタンドアロンWARのアンデプロイの構文を次に示します。アプリケーションまたはモジュールの名前を指定する必要があります。
java -jar admin_client.jar uri adminId adminPassword -undeploy appName
-updateEJBModuleコマンドは、OC4JインスタンスまたはOC4Jインスタンス・グループで実行するアプリケーション内のEJBモジュールの増分再デプロイ、つまり部分的な再デプロイを行います。 この機能により、EJB JAR内の変更されたBeanのみを再デプロイすることが可能になります。
|
注意: CMPまたはBMPエンティティBeanについては、増分再デプロイがアプリケーション全体の再デプロイよりも効率がいい場合がありますが、セッションBean、メッセージドリブンBeanまたはEJB 3.0 JPAエンティティには当てはまりません。この機能を使用する場合の詳細は、「更新されたEJBモジュールの増分再デプロイ」を参照してください。 |
デプロイ済EJBモジュールで変更済クラスを更新する場合の構文を、次に示します。EJB JARが含まれるアプリケーションの名前を指定する必要があります。スタンドアロンEJBモジュールを更新している場合は、defaultアプリケーションを指定します。
java -jar admin_client.jar uri adminId adminPassword -updateEJBModule -appName appName -ejbModuleName ejbJarName -file path/ejbJarName
次に例を示します。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -updateEJBModule -appName petstore -ejbModuleName customerEjb.jar -file build/customerEjb.jar
admin_client.jarユーティリティを使用して、OC4JインスタンスまたはOC4Jインスタンス・グループの共有ライブラリを作成および管理できます。次の項目で詳しく説明します。
-publishSharedLibraryコマンドを使用して、共有ライブラリのディレクトリ構造を作成し、その構造内のライブラリを構成するバイナリを特定のOC4JインスタンスまたはOC4Jインスタンス・グループにインストールできます。共有ライブラリは、各OC4JインスタンスのORACLE_HOME/j2ee/instance/shared-libディレクトリに作成されます。
また、このコマンドでは、各OC4Jインスタンスのserver.xmlファイルの<shared-library>要素で共有ライブラリが宣言され、アプリケーションで使用できるようになります。
共有ライブラリのインストールの構文を次に示します。複数のコード・ソース(共有ライブラリを構成するバイナリ)のパスとファイル名を、それぞれ空白で区切って指定できます。
java -jar admin_client.jar uri adminId adminPassword -publishSharedLibrary -name libName -version libVersion [-parentName parentLibName] [-parentVersion parentLibVersion] [-installCodeSources path [path ...]] [-addCodeSources path [path ...]] [-imports sharedLibName [:min-version][,max-version] [sharedLibName ...]]
次のコマンドでは、クラスタ内のOC4Jインスタンス(default_groupのメンバーすべて)のグループにacme.common:2.5共有ライブラリがデプロイされます。
java -jar admin_client.jar deployer:cluster:opmn://server.company.com:6004/default_group oc4jadmin password -publishSharedLibrary -name acme.common -version 2.5 -installCodeSources /myserver/tmp/acme-apis.jar /myserver/tmp/acmeImpl.jar
このときターゲットOC4Jサーバー内に生成されるディレクトリ構造は次のようになります。
ORACLE_HOME/j2ee/home/shared-lib
/acme.common
/2.5
acme-apis.jar
acmeImpl.jar
表11-12 -publishSharedLibraryコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。共有ライブラリの名前。 共通APIが複数のベンダーによって実装されている場合、この名前はベンダー名とテクノロジ名の両方を含む必要があります。たとえば、 |
|
|
必須。共有ライブラリのバージョン番号。この値はコードの実装バージョンを反映するように指定することをお薦めします。 |
|
|
オプション。親共有ライブラリの名前(該当する場合)。 |
|
|
オプション。親共有ライブラリのバージョン番号(該当する場合)。 |
|
|
OC4Jインスタンスにアップロードし、共有ライブラリの一部としてインストールする、1つ以上のJARファイルまたはZIPファイルのパスとファイル名。パス/ファイル名を示す各文字列は空白で区切ります。 |
|
|
オプション。共有ライブラリに追加するためにOC4Jインスタンスにすでにアップロードされている、JARファイルまたはZIPファイルのパスとファイル名。パス/ファイル名を示す各文字列は空白で区切ります。 |
|
|
オプション。この共有ライブラリにインポートする1つ以上の既存共有ライブラリの名前。名前を示す各文字列は空白で区切ります。 インポートするライブラリの最大または最小(あるいは両方)のバージョンを指定できます。 |
-modifySharedLibraryコマンドを使用して、既存の共有ライブラリの内容を変更することができます。また、このコマンドを使用し、各OC4Jインスタンスのserver.xmlファイルで共有ライブラリの定義を更新することもできます。
既存共有ライブラリの変更の構文を次に示します。複数のコード・ソース(共有ライブラリを構成するバイナリ)のパスとファイル名を、それぞれ空白で区切って指定できます。
java -jar admin_client.jar uri adminId adminPassword -modifySharedLibrary -name libName -version libVersion [-installCodeSources path [path ...]] [-addCodeSources path [path ...]] [-removeCodeSources path [path ...]] [-addImports sharedLibName[:min-version][,max-version] [sharedLibName ...]] [-removeImports sharedLibName[:min-version][,max-version] [sharedLibName ...]]
次のコマンドでは、acme.common:2.5共有ライブラリが更新されます。
java -jar admin_client.jar deployer:cluster:opmn://server.company.com:6004/default_group oc4jadmin password -modifySharedLibrary -name acme.common -version 2.5 -addCodeSources /myserver/tmp/acme-helpers.jar
表11-13 -modifySharedLibraryコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。更新する共有ライブラリの名前。 |
|
|
必須。更新する共有ライブラリのバージョン番号。 |
|
|
オプション。OC4Jインスタンスにアップロードし、共有ライブラリの一部としてインストールする、JARファイルまたはZIPファイルのパスとファイル名。パス/ファイル名を示す各文字列は空白で区切ります。 |
|
|
オプション。共有ライブラリに追加するためにOC4Jインスタンスにすでにアップロードされている、1つ以上のJARファイルまたはZIPファイルのパスとファイル名。パス/ファイル名を示す各文字列は空白で区切ります。 |
|
|
オプション。共有ライブラリから削除する1つ以上のJARファイルまたはZIPファイルのパスとファイル名。パス/ファイル名を示す各文字列は空白で区切ります。 |
|
|
オプション。この共有ライブラリにインポートする1つ以上の既存共有ライブラリの名前。名前を示す各文字列は空白で区切ります。 インポートするライブラリの最大または最小(あるいは両方)のバージョンを指定できます。 |
|
|
オプション。この共有ライブラリから削除する1つ以上の既存共有ライブラリの名前。 削除するライブラリの最大または最小(あるいは両方)のバージョンを指定できます。 |
-describeSharedLibraryコマンドを使用して、指定した共有ライブラリを構成する、コード・ソースとインポートされた共有ライブラリを表示します。構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -describeSharedLibrary -name libName -version libVersion
-listSharedLibrariesコマンドを使用して、ターゲットOC4Jインスタンスに定義されているすべての共有ライブラリのリストを出力します。構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -listSharedLibraries
|
注意: JDK1.4を使用している場合、Oracle Application Server 10gリリース3(10.1.3.4.0)では、共有ライブラリとしてJDKに付属するXalanライブラリの使用はサポートされません。 Xalanライブラリを使用する場合、次の2つの代替策があります。
|
admin_client.jarユーティリティを使用してアプリケーションおよびその子アプリケーションを、特定のOC4JインスタンスまたはOC4Jインスタンス・グループで起動、再起動または停止します。アプリケーション内のファイルが変更されている場合、起動時にそのアプリケーションが自動的に再デプロイされます。
これらのコマンドを使用すれば、Application Server Control(ascontrol)の停止および起動も可能です。
構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -start|-stop appName
次の例では、クラスタ内のnode2のpetstoreアプリケーションが起動されます。
java -jar admin_client.jar deployer:oc4j:opmn://node2.company.com:6004/home oc4jadmin password -start petstore
admin_client.jarユーティリティを使用してスタンドアロンOC4Jサーバーを、管理環境の特定のOC4Jインスタンス、またはOC4Jインスタンス・グループで停止します。-shutdownコマンドは指定したOC4Jインスタンスをシャットダウンし、あらゆるOPMN管理インスタンスに対してシャットダウン中であることをOPMNに通知します。-restartコマンドは指定したインスタンスを再起動します。
これらのコマンドの構文および例について、次の項目で説明します。
admin_client.jar -restartコマンドを次のように使用して、OC4JインスタンスまたはOC4Jインスタンス・グループを再起動します。
java -jar admin_client.jar uri adminId adminPassword -restart
たとえば、次のコマンドではスタンドアロンOC4Jサーバーが再起動します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin password -restart
次のコマンドでは、クラスタ・トポロジ内の各Oracle Application Serverにおけるdefault_groupのメンバーすべてのOC4Jインスタンスが再起動します。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -restart
admin_client.jar -shutdownコマンドを次のように使用して、OC4JインスタンスまたはOC4Jインスタンス・グループを停止します。
java -jar admin_client.jar uri adminId adminPassword -shutdown
たとえば、次のコマンドではスタンドアロンOC4Jサーバーが停止します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin password -shutdown
このコマンドは、まるでホスト・マシンの電源プラグが抜かれたかのように、OC4Jサーバー全体をシャットダウンしてすべてのスレッドを即座に終了します。このコマンドを使用すると、クラスタ化アプリケーションの現在の状態はレプリケートされません。
次のコマンドは、OPMN管理のOracle Application Server環境で指定したOC4Jインスタンスを停止します。
java -jar admin_client.jar deployer:oc4j:opmn://localhost/home oc4jadmin password -shutdown
次のコマンドでは、クラスタ・トポロジ内の各Oracle Application Serverにおけるdefault_groupのメンバーすべてのOC4Jインスタンスが停止します。
java -jar admin_client.jar deployer:cluster:opmn://node1.company.com/default_group oc4jadmin password -shutdown
これらのコマンドは指定したインスタンスをシャットダウンし、すべてのスレッドを即座に終了します。-shutdownコマンドを使用すると、クラスタ化アプリケーションの現在の状態はレプリケートされません。OPMN管理の各OC4Jインスタンスについて、admin_client.jarはOPMNにサーバーが意図的にシャットダウンされていることを通知します。これは、OPMNが再起動を行わないようにするためです。
admin_client.jarユーティリティを使用して、OC4JインスタンスまたはOC4Jインスタンス・グループのデータソースを管理できます。次の項目で詳しく説明します。
admin_client.jarユーティリティを使用して、OC4JインスタンスまたはOC4Jインスタンス・グループのデータソース接続プールを追加、テストおよび削除できます。次の項目で詳しく説明します。
-addDataSourceConnectionPoolコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスで、アプリケーションに対するデータソース接続プールを追加します。
データソース接続プールの追加の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -addDataSourceConnectionPool -applicationName applicationName -name name -factoryClass factoryClass -dbUser dbUser -dbPassword dbPassword -url url [-factoryProperties name1 value1 [name2 value2 [...]]]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -addDataSourceConnectionPool -applicationName default -name ScottConnectionPool -factoryClass oracle.jdbc.pool.OracleDataSource -dbUser scott -dbPassword tiger -url jdbc:oracle:thin:@localhost:1521:xe
表11-16 -addDataSourceConnectionPoolコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。データソース接続プールを追加する対象のアプリケーションの名前。 |
|
|
必須。接続プールの名前。 |
|
|
必須。コネクション・ファクトリ実装の完全修飾パス。 |
|
|
必須。接続するときに使用するデフォルトのユーザー名。 |
|
|
必須。接続するときに使用するデフォルトのパスワード。 |
|
|
必須。接続するときに使用するコネクション・ファクトリのURL。 |
|
|
オプション。コネクション・ファクトリ定義で設定する1つ以上のプロパティの名前/値ペア。 |
-testDataSourceConnectionPoolコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスのデータソース接続プールに対するアプリケーションの接続をテストします。
データソース接続プールへの接続テストの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -testDataSourceConnectionPool -name name -sqlStatement sqlStatement [-applicationName applicationName] [-dbUser dbUser] [-dbPassword dbPassword]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -testDataSourceConnectionPool -sqlStatement "select * from dual" -applicationName default -name ScottConnectionPool
-removeDataSourceConnectionPoolコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスのアプリケーションからデータソース接続プールを削除します。データソース接続プールの削除の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -removeDataSourceConnectionPool -name name [-applicationName applicationName]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -removeDataSourceConnectionPool -name ScottConnectionPool -applicationName default
admin_client.jarユーティリティを使用して、OC4JインスタンスまたはOC4Jインスタンス・グループのデータソースを追加、テストおよび削除できます。次の項目で詳しく説明します。
-addManagedDataSourceコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスで、アプリケーションに対するマネージド・データソースを追加します。マネージド・データソースの追加の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -addManagedDataSource -applicationName applicationName -name name -jndiLocation jndiLocation -connectionPoolName connectionPoolName [-dbUser dbUser] [-dbPassword dbPassword] [-loginTimeout loginTimeout] [-txLevel txLevel] [-dbSchema dbSchema] [-manageLocalTransactions true|false]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -addManagedDataSource -applicationName default -name ScottDataSource -jndiLocation jdbc/ScottDataSource -connectionPoolName ScottConnectionPool
表11-19 -addManagedDataSourceコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。データソースを追加する対象のアプリケーションの名前。 |
|
|
必須。データソースの名前。 |
|
|
必須。新規のデータソースをJNDIにバインドする際に使用する場所。 |
|
|
必須。データソースが対応する接続プールの名前。 |
|
|
オプション。新規のデータソースに対するデフォルトのユーザー。 |
|
|
オプション。新規のデータソースに対するデフォルトのパスワード。 |
|
|
オプション。新規のデータソースに対するログイン・タイムアウト。 |
|
|
オプション。トランザクション・レベル( |
|
|
オプション。使用中のEJB CMP実装がOrion CMPの場合に使用するデータベース・スキーマ。(TopLink CMPがデフォルトです。) |
|
|
オプション。OC4Jでローカル・トランザクションを管理するかどうか示します。デフォルト値は |
-removeManagedDataSourceコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスで、アプリケーションからマネージド・データソースを削除します。マネージド・データソースの削除の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -removeManagedDataSource -name name [-applicationName applicationName]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -removeManagedDataSource -name ScottDataSource -applicationName default
-addNativeDataSourceコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスで、アプリケーションに対するネイティブ・データソースを追加します。ネイティブ・データソースの追加の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -addNativeDataSource -name name -dbUser dbUser -dbPassword dbPassword -jndiLocation jndiLocation -loginTimeout loginTimeout -dataSourceClass dataSourceClass -url url [-applicationName applicationName] [-properties name1 value1 [name2 value2 ][...]]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -addNativeDataSource -name ScottDataSource -dbUser scott -dbPassword tiger -jndiLocation jdbc/ScottNativeDataSource -loginTimeout 5 -dataSourceClass com.acme.DataSourceImpl -url jdbc:oracle:thin:@localhost:1521:xe
表11-21 -addNativeDataSourceコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。新規のデータソースの名前。 |
|
|
必須。新規のデータソースに対するデフォルトのユーザー。 |
|
|
必須。新規のデータソースに対するデフォルトのパスワード。 |
|
|
必須。新規のデータソースをJNDIにバインドする際に使用する場所。 |
|
|
必須。新規のデータソースに対するログイン・タイムアウト。 |
|
|
必須。新規のデータソースの完全修飾クラス。 |
|
|
必須。新規のデータソースでデータベースへの接続に使用されるURL。 |
|
|
オプション。データソースを追加する対象のアプリケーションの名前。 |
|
|
オプション。新規のデータソースに対するプロパティ。 |
-removeNativeDataSourceコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスで、アプリケーションからネイティブ・データソースを削除します。ネイティブ・データソースの削除の構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -removeNativeDataSource -name name [-applicationName applicationName]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -removeNativeDataSource -name ScottDataSource
-testDatabaseConnectionコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスのデータベースに対するアプリケーションの接続をテストします。
データベース接続のテストの構文を次に示します。
java -jar admin_client.jar uri adminId adminPassword -testDatabaseConnection -sqlStatement sqlStatement -factoryClass factoryClass -dbUser dbUser -dbPassword dbPassword -url url [-applicationName applicationName]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -testDatabaseConnection -sqlStatement "select * from dual" -factoryClass oracle.jdbc.pool.OracleDataSource -dbUser scott -dbPassword tiger -url jdbc:oracle:thin:@localhost:1521:xe -applicationName default
表11-23 -testDatabaseConnectionコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。接続のテストに使用するSQL文。 |
|
|
必須。テストするJDBCファクトリ( |
|
|
必須。 接続のテストに使用するユーザー名。 |
|
|
必須。 接続のテストに使用するパスワード。 |
|
|
必須。JDBCファクトリで設定するURL。 |
|
|
オプション。アプリケーションの名前。 |
-testDataSourceコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各OC4Jインスタンスのデータソースに対するアプリケーションの接続をテストします。
データソースのテストの構文を次に示します。
java -jar admin_client.jar uri adminId adminPassword -testDataSource -name name -sqlStatement sqlStatement [-applicationName applicationName] [-dbUser dbUser] [-dbPassword dbPassword]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -testDataSource -name ScottDataSource -sqlStatement "select * from dual" -applicationName default -dbUser scott -dbPassword tiger
admin_client.jarユーティリティを使用して、OC4JインスタンスまたはOC4Jインスタンス・グループのJMSリソースを管理できます。次の項目で詳しく説明します。
admin_client.jarユーティリティを使用してOC4J JMSコネクション・ファクトリを管理します。次の項目で詳しく説明します。
-addJMSConnectionFactoryコマンドを使用して、クラスタ内のOC4Jインスタンスまたはグループの各インスタンスに、JMSコネクション・ファクトリを追加します。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -addJMSConnectionFactory
-domain domain -jndiLocation jndiLocation [-host host] [-port port]
[-username username] [-password password] [-clientID clientID] [-isXA true|false]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -addJMSConnectionFactory -domain Queue -jndiLocation jms/ExampleQueueCF
表11-26 -addJMSConnectionFactoryコマンドのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
必須。このコネクション・ファクトリのJMSドメイン( |
|
|
必須。このコネクション・ファクトリがバインドされるJNDIロケーション。 |
|
|
オプション。このコネクション・ファクトリに関連付けられているホスト名(デフォルトは対象のOC4J JMSサーバー・ホスト)。 |
|
|
オプション。このコネクション・ファクトリに関連付けられているポート番号(デフォルトは対象のOC4J JMSサーバー・ポート)。 |
|
|
オプション。このコネクション・ファクトリに関連付けられているユーザー名(デフォルトは |
|
|
オプション。このコネクション・ファクトリに関連付けられているパスワード(デフォルトはNULL)。 |
|
|
オプション。このコネクション・ファクトリに関連付けられているJMSクライアントID(デフォルトはNULL)。 |
|
|
オプション。 これがXAコネクション・ファクトリかどうかを示します(デフォルトは |
-removeJMSConnectionFactoryコマンドを使用して、OC4JインスタンスからJMSコネクション・ファクトリを削除します。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -removeJMSConnectionFactory -jndiLocation jndiLocation
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -removeJMSConnectionFactory -jndiLocation jms/ExampleQueueCF
-getJMSConnectionFactoriesコマンドを使用して、クラスタ内のOC4JインスタンスまたはOC4Jインスタンス・グループの各JMSコネクション・ファクトリに対する属性を返します。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -getJMSConnectionFactories
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -getJMSConnectionFactories
admin_client.jarユーティリティを使用してOC4J JMS宛先を管理します。次の項目で詳しく説明します。
-addDestinationコマンドを使用してJMS宛先を追加します。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -addDestination -domain domain -namename-jndiLocation jndiLocation [-persistenceFilepersistenceFile] [-description description]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -addDestination -domain Queue -name ExampleQueue -jndiLocation jms/ExampleQueue
-removeDestinationコマンドを使用して、OC4Jインスタンスまたはグループの各OC4JインスタンスからJMS宛先を削除します。このコマンドの構文は次のとおりです。
java -jar admin_client.jar uri adminId adminPassword -removeDestination
-name name [-force true|false] [-removePFile true|false]
次に例を示します。
java -jar admin_client.jar deployer:oc4j:localhost oc4jadmin welcome1 -removeDestination -name ExampleQueue -removePFile true
「リモート管理クライアントのダウンロードと抽出」の説明にあるとおり、リモート管理クライアント・ユーティリティからファイルをインストールした後で、リモート・クライアントを使用してOC4Jを管理できます。次に、コマンドライン・ツールまたはJMXリモートAPIからadmin_client.jarを使用できます。
OC4Jアプリケーション・サーバー・ターゲットに接続した後、「リモート管理クライアントのダウンロードと抽出」の説明にあるとおり、リモート・クライアントからadmin_client.jarコマンドを発行できます。OC4Jインスタンス内から使用する構文と同じ構文を使用します。
JConsoleはJDK 5.0に含まれているJMX GUIコンソールです。 JConsoleはあらゆるJVMに接続して実行中のMBeanServerにつながり、JVMのスレッドおよびメモリー使用量など、システムの様々な詳細が表示される一連のページを表示します。JConsoleはローカルJVMに接続します。また、JMXリモートAPIを使用してリモートJVMに接続することもできます。
管理クライアント・ユーティリティのディストリビューションには、JConsoleによるリモートOC4JまたはOracle Application Serverインスタンスへの接続に必要なライブラリが含まれています。 ターゲット・インスタンスに接続するには、管理クライアント・ユーティリティのディストリビューションの関連する詳細によって、JConsoleユーティリティ(Windows環境でネイティブの実行可能ファイルとして提供される)を構成する必要があります。
Oracle Application Serverインスタンスに接続する手順は、次のとおりです。
/j2ee/instance/admin_client.jarをCLASSPATH環境変数に追加します。
set CLASSPATH=j2ee/home/admin_client.jar
JConsoleライブラリをCLASSPATH環境変数に追加します。
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\jconsole.jar set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\tools.jar
OC4J ORMIプロトコルを使用するようにJMXコネクタを構成します。
set PROPS= jmx.remote.protocol.provider.pkgs=oracle.oc4j.admin.jmx.remote
jconsoleを実行します。
%JAVA_HOME%\bin\jconsole -J-Djava.class.path=%CLASSPATH% -J-D%PROPS%
これによってJConsoleが起動します。
「エージェントに接続」画面の「詳細」タブで、OC4JまたはOracle Application Serverターゲットに対する接続文字列と、同様にターゲットに対する管理者のユーザー名およびパスワードも入力します。
OC4Jに対するJMX URLのパターンは、Oracle Application Serverターゲットに対するパターンとは異なります。表11-30にこれらのURLパターンの例を示します。
表11-30 OC4JおよびOracle Application Serverターゲットに対するJMX URL
| ターゲット | JMX URL |
|---|---|
|
スタンドアロンOC4Jサーバー |
|
|
Oracle Application Server上のOC4Jインスタンス |
|
|
Oracle Application Serverクラスタ |
service:jmx:rmis:///opmn://stadp69:6003/cluster/as101/admin |
JConsoleユーティリティはターゲット・インスタンスからOC4J MBeansを表示します。これらのMBeansはOC4Jインスタンスの構成の表示および管理に使用できます。
Windows環境では、JConsoleで使用される環境は特定のシステム・プロパティ・フォームを使用して変更できます。
-J-Dname=value
サンプルのコマンド・スクリプトを次に示します。
setlocal set URL=service:jmx:rmi:///opmn://test-cycle.oracle.com:6010/testunit set JAVA_HOME=C:\java\jdk150_07 set JCONSOLE_CPset JCONSOLE_CP=%JCONSOLE_CP%;%JAVA_HOME%\lib\jconsole.jar set JCONSOLE_CP=%JCONSOLE_CP%;%JAVA_HOME%\lib\tools.jar set ORACLE_HOME=D:\oc4j_admin_client set ORACLE_CP= set ORACLE_CP=%ORACLE_CP%;%ORACLE_HOME%\j2ee\home\admin_client.jar; set CLASSPATH=%JCONSOLE_CP%;%ORACLE_CP% set PROPS= set PROPS=%PROPS% -J-Djmx.remote.protocol.provider.pkgs=oracle.oc4j.admin.jmx.remote set PROPS=%PROPS% -J-Djava.class.path=%CLASSPATH% jconsole %PROPS% %URL% endlocal
管理クライアント・ユーティリティのディストリビューションでは、JMXクライアント・アプリケーションがリモートOC4Jインスタンスに接続するための完全なクライアント環境が提供されます。JMXのプログラム的クライアントを使用して、MBeanServerへの接続を確立できるJMXリモートAPI(JSR160)からOC4Jをリモートで管理できます。 JDK 5.0による実行が必要なJARファイルは、管理クライアント・ユーティリティのディストリビューションが提供するoc4jclient.jarとadmin_client.jarのみです。
次の例では、これらのJARファイルをJMX APIで使用しています。
// A URL is of the form "service:jmx:rmi://127.0.0.1:23791"
JMXServiceURL serviceURL = new JMXServiceURL(_url);
Hashtable credentials = new Hashtable();
credentials.put("login", _username);
credentials.put("password", _password);
// Properties required to use the OC4J ORMI protocol
Hashtable env = new Hashtable();
env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"oracle.oc4j.admin.jmx.remote");
env.put(JMXConnector.CREDENTIALS, credentials);
JMXConnector jmxCon =
JMXConnectorFactory.newJMXConnector(serviceURL, env);
jmxCon.connect();
MBeanServerConnection mbeanServer =
jmxCon.getMBeanServerConnection();
JDK 5.0ではこのコードはOracleライブラリを必要とせず、JDKで提供されるライブラリのみでコンパイルします。
clear @echo off @setlocal set J2EE_HOME=c:\java\oc4j-1013-prod\j2ee\home set JAVA_HOME=c:\java\jdk50 set CLASSPATH=. rem rem Uncomment below if using JDK14 rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmxri.jar rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmx_remote_api.jar rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\javax77.jar rem %JAVA_HOME%\bin\javac -classpath %CLASSPATH% -d . *.java @endlocal
oc4j_admin_client_101340.zipディストリビューションでコードを実行する手順は、次のとおりです。
実行可能なJARファイルを作成します。
そのJARファイルを管理クライアント・ユーティリティのディストリビューションのj2ee/homeディレクトリに置きます。
リモートOC4Jインスタンスに接続します。
コードがJDK 5.0で$ORACLE_HOME/j2ee/home/oc4jclient.jarおよび$ORACLE_HOME/j2ee/home/admin_client.jarとともに実行されます。
@echo off @setlocal clear set J2EE_HOME=c:\java\oc4j-1013-prod\j2ee\home set JAVA_HOME=c:\java\jdk50 rem Runtime classpath set CLASSPATH=. set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\oc4jclient.jar; set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\admin_client.jar; rem rem Uncomment if using JDK14 rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmxri.jar rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\jmx_remote_api.jar rem set CLASSPATH=%CLASSPATH%;%J2EE_HOME%\lib\javax77.jar @endlocal
例のメイン・メソッド内の接続URLは、ローカルOC4Jインスタンスに接続するように設定されています。 ORMIポートからOracle Application Serverに接続する場合は、次のフォームのサービスURLを使用します。
service:jmx:rmi|ormi:///opmn://stadp57.us.oracle.com:6003/home
サービスURLはOPMNデーモンからORMIポートを取得します。ORMIポートは実行時に割り当てられます。OPMN接続文字列パスを使用すると、指定したOC4Jインスタンスに接続できます。
OC4Jインスタンスをリモートで管理するためのJMXクライアントの使用方法の詳細は、『Oracle Containers for J2EE開発者ガイド』のJMXリモートAPI(JSR-160)を使用するリモート管理に関する項を参照してください。