この章では、asadmin コマンド行ユーティリティーを使用して、&ProductBrandTM; Enterprise Server v3 の環境で一般的な管理タスクを実行する方法について説明します。
ここでは、次のテーマを取り上げます。
管理コンソール を使用してこの章のタスクを実行する方法は、管理コンソール のオンライン ヘルプに記載されています。
Sun GlassFish Enterprise Server の管理タスクを実行するには、コマンド行またはスクリプトから asadmin ユーティリティーを使用します。このユーティリティーは、管理コンソール インタフェースの代わりに使用できます。
ここでは、次のテーマを取り上げます。
asadmin ユーティリティは、as-install /bin ディレクトリにあります。パスを指定せずに asadmin ユーティリティーを実行するには、このディレクトリをパスに入れてください。
asadmin ユーティリティーを実行するための構文は次のとおりです。
asadmin [asadmin-util-options] [subcommand [subcommand-options] [operands]] |
この構文で置き換え可能な項目については、以降の項で説明します。この構文の詳細については、asadmin(1M) のマニュアルページを参照してください。
次の「サブコマンド」は、実行する動作またはタスクを指定します。サブコマンドは大文字と小文字を区別します。サブコマンドは、ローカルサブコマンドとリモートサブコマンドのいずれかです。
「ローカルサブコマンド」は、ドメイン管理サーバー (DAS) を動作させずに実行できます。ただし、サブコマンドを実行してインストールディレクトリやドメインディレクトリにアクセスするには、ドメインのホストマシンにログインする必要があります。
「リモートコマンド」は常に、DAS に接続して DAS でサブコマンドを実行することにより実行されます。稼働中の DAS が必要です。
このリリースの Enterprise Server のサブコマンドリストについては、『Sun GlassFish Enterprise Server v3 Reference Manual』の第 1 節を参照してください。
オプションは、asadmin ユーティリティーとそのサブコマンドの動作を制御します。オプションは大文字と小文字を区別します。
asadmin ユーティリティーには、次のタイプのオプションがあります。
asadmin ユーティリティーのオプション。これらのオプションは、asadmin ユーティリティーの動作を制御します。サブコマンドの動作は制御しません。asadmin ユーティリティーのオプションは、サブコマンドの前後に指定できますが、サブコマンドの後に asadmin ユーティリティーのオプションを指定することは推奨しません。asadminユーティリティーのオプションは、サブコマンドの前、または後にすべて指定する必要があります。asadmin ユーティリティーのオプションをサブコマンドの前と後の両方に指定した場合、エラーが発生します。asadmin ユーティリティーのオプションの詳細については、asadmin(1M) のマニュアルページを参照してください。
「サブコマンドオプション」。これらのオプションは、サブコマンドの動作を制御します。asadmin ユーティリティーの動作は制御しません。サブコマンドオプションは、サブコマンドの後に指定する必要があります。サブコマンドのオプションの詳細については、『Sun GlassFish Enterprise Server v3 Reference Manual』のサブコマンドの項目を参照してください。
サブコマンドオプションの一部は、このリリースの Enterprise Server ではサポートされていません。サポートされていないオプションを指定しても、構文エラーは発生しません。その代わりコマンドが正常に実行され、未サポートのオプションは単に無視されます。
サブコマンドオプションの名前が、asadmin ユーティリティーのオプションの名前と同じ場合がありますが、2 つのオプションの効果は異なります。
オプションには、長形式と省略形式があります。
オプションの省略形式では、ダッシュ 1 つ (-) の後に文字 1 つが続きます。
オプションの長形式では、ダッシュ 2 つ (--) の後にオプションのワードが続きます。
たとえば、terse 出力を指定するオプションの省略形式と長形式は次のとおりです。
省略形式: -t
長形式: --terse
論理型オプションを除く多くのオプションには、機能の有効と無効を切り替える引数の値が必要です。
オペランドは、サブコマンドの動作対象となる項目を指定します。オペランドは、サブコマンドオプションの引数の後に指定する必要があり、空白 1 文字、タブ 1 文字、またはダッシュ 2 文字 (--) で区切ります。asadmin ユーティリティーは、サブコマンドオプションとその値に続くものはすべて、オペランドとして扱います。
シングルモードでは、使用するサブコマンドについて個々に asadmin コマンドを入力する必要があります。 サブコマンドの実行後は、オペレーティングシステムのコマンドシェルに戻ります。asadmin ユーティリティーのオプションは、実行する asadmin コマンドについて個々に指定する必要があります。複数のサブコマンドについて同じ asadmin ユーティリティーのオプションが必要な場合は、マルチモードで asadmin ユーティリティーを使用します。詳細については、「マルチモードセッションを開始する」を参照してください。
オペレーティングシステムのコマンドシェルで、asadmin ユーティリティーを実行してサブコマンドを指定します。
必要に応じて、必須の asadmin ユーティリティーのオプション、サブコマンドのオプション、およびオペランドも指定します。
この例は、シングルモードでサブコマンド list-applications(1) を実行します。この例では、すべてのオプションでデフォルト値を使用します。
この例は、ローカルホストでアプリケーション hello が配備されていることを示します。
asadmin list-applications hello <web> Command list-applications executed successfully. |
この例は、シングルモードで asadmin ユーティリティーのオプション --host とサブコマンド list-applications を指定します。この例では、DAS はホスト srvr1.example.com で稼働中です。
この例は、アプリケーション basic-ezcomp、scrumtoys、ejb31-war、および automatic-timer-ejb がホスト srvr1.example.com に配備されていることを示します。
asadmin --host srvr1.example.com list-applications basic-ezcomp <web> scrumtoys <web> ejb31-war <ejb, web> automatic-timer-ejb <ejb> Command list-applications executed successfully. |
この例は、シングルモードで asadmin ユーティリティーオプション --host、サブコマンドオプション --type、およびサブコマンド list-applications を指定します。この例では、DAS がホスト srvr1.example.com で稼働し、web タイプのアプリケーションが一覧表示されます。
asadmin --host srvr1.example.com list-applications --type web basic-ezcomp <web> scrumtoys <web> ejb31-war <ejb, web> Command list-applications executed successfully. |
Enterprise Server には、asadmin ユーティリティーとそのサブコマンドの構文、目的、およびオプションに関するヘルプ情報が用意されています。このヘルプ情報は、UNIX® プラットフォームのマニュアルページのスタイルで作成されています。このヘルプ情報は、『Sun GlassFish Enterprise Server v3 Reference Manual』にも記載されています。
リモートサブコマンドのヘルプ情報を表示する場合は、サーバーが稼働中であることを確認してください。
リモートサブコマンドを実行するには、稼働中のサーバーが必要です。
対象のサブコマンドを、help サブコマンドのオペランドとして指定します。
オペランドを指定せずに help サブコマンドを実行した場合、asadmin ユーティリティーのヘルプ情報が表示されます。
この例は、asadmin ユーティリティーのヘルプ情報を表示します。
asadmin help |
この例は、サブコマンド create-jdbc-resource のヘルプ情報を表示します。
asadmin help create-jdbc-resource |
使用できるサブコマンドを表示するには、サブコマンド list-commands(1) を使用します。ローカルサブコマンドが、リモートサブコマンドの前に表示されます。サーバーが稼働していない場合は、ローカルサブコマンドのみが表示されます。
asadmin ユーティリティーは、複数コマンドモード、つまりマルチモードで使用できます。マルチモードでは、asadmin ユーティリティーを一度実行してマルチモードセッションを開始します。セッションを終了してオペレーティングシステムのコマンドシェルに戻るまでの間、asadmin ユーティリティーは継続してサブコマンドを受け取ります。マルチモードセッションで設定した asadmin ユーティリティーのオプションは、セッションの後続のサブコマンドすべてについて使用されます。
マルチモードセッションを開始するには、稼働中の DAS は「不要」です。
次のいずれかの操作を行います。
サブコマンドを指定せずに asadmin ユーティリティーを実行します。
サブコマンド multimode(1) を使用します。
必要に応じて、マルチモードセッション全体に適用する asadmin ユーティリティーのオプションも指定します。
マルチモードセッションでは、コマンド行に asadmin> プロンプトが表示されます。このプロンプトに asadmin のサブコマンドを入力して Enterprise Server を管理できます。
この例は、マルチモードセッションを開始し、asadmin ユーティリティーのオプション --user および --passwordfile をこのセッションに設定します。
asadmin --user admin1 --passwordfile pwd.txt multimode |
この例は、サブコマンド multimode を使用して、デフォルトの asadmin ユーティリティーのオプションを使用するマルチモードセッションを開始します。
asadmin multimode |
コマンド行に asadmin> プロンプトが表示されます。
この例は、マルチモードセッションを開始し、そのセッションでサブコマンド list-domains を実行します。
asadmin Enter commands one per "line", ^D to quit asadmin> list-domains Name: domain1 Status: Running Command list-domains executed successfully. asadmin> |
既存のセッションからマルチモードセッションを開始するには、既存のセッションからサブコマンド multimode を実行します。2 つ目のマルチモードセッションを終了すると、元のマルチモードセッションに戻ります。
また、コマンド行に asadmin help multimode を入力して、サブコマンドの詳細構文とオプションも表示できます。
asadmin> プロンプトに、次のコマンドまたはキーコンビネーションのいずれかを入力します。
exit
quit
UNIX および Linux システム: Ctrl-D
Windows システム: Ctrl-Z
オペレーティングシステムのコマンドシェルに戻ります。asadmin> プロンプトは表示されなくなります。asadmin> プロンプトがまだ表示されている場合は、マルチモードセッションからマルチモードセッションを開いた可能性があります。この場合は、この手順を繰り返して残りのマルチモードセッションを終了します。
ファイルから asadmin の一連のサブコマンドを実行すると、繰り返し実行するタスクを自動化できます。
実行するサブコマンドのシーケンスを含むプレーンテキストファイルを作成します。
作成したファイルを指定して、サブコマンド multimode(1) を実行します。
必要に応じて、ファイル内のサブコマンドを実行可能にするために必要な asadmin ユーティリティーのオプションも指定します。
この例には、次のものが含まれます。
asadmin のサブコマンドのシーケンスを含む、名前が commands_file.txt のファイルリスト
ファイル commands_file.txt 内のサブコマンドを実行するためのコマンド
commands_file.txt ファイルには、次の動作シーケンスを実行するための asadmin ユーティリティーのサブコマンドがあります。
ドメイン customdomain の作成
ドメイン customdomain の開始
使用できるすべてのサブコマンドの一覧表示
ドメイン customdomain の停止
ドメイン customdomain の削除
ファイル commands_file.txt の内容は次のとおりです。
create-domain --portbase 9000 customdomain start-domain customdomain list-commands stop-domain customdomain delete-domain customdomain
この例は、commands_file.txt ファイル内のサブコマンドのシーケンスを実行します。ファイル内のサブコマンド create-domain にオプション --portbase が指定されているので、asadmin ユーティリティーのオプション --port も設定する必要があります。
asadmin --port 9048 multimode --file commands_file.txt |
上の例のサブコマンドの詳細については、次のマニュアルページを参照してください。
共有サーバーインスタンスでは、参照される構成に定義された属性の上書きが頻繁に必要になります。任意の構成の属性を、対応する名前のシステムプロパティーによって上書きできます。
ここでは、次のテーマを取り上げます。
ドメインまたは構成の 1 つ以上のシステムプロパティーの作成または更新を行うには、リモートモードでサブコマンド create-system-properties を使用します。 任意の構成の属性を、対応する名前のシステムプロパティーによって上書きできます。
サーバーが稼働中であることを確認してください。
リモートサブコマンドには、実行中のサーバーが必要です。
create-system-properties(1) サブコマンドを使用して、システムプロパティーを作成します。
サブコマンドのプロパティーに関する情報が、このマニュアルページにあります。
この例は、localhost の http-listener-port=1088 に関するシステムプロパティーを作成します。
asadmin> create-system-properties http-listener-port=1088 Command create-system-properties executed successfully. |
コマンド行に asadmin help create-system-properties と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
ドメインまたは構成に適用するシステムプロパティーを一覧表示するには、リモートモードで list-system-properties サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-system-properties(1) サブコマンドを使用して、システムプロパティーを一覧表示します。
HTTP_LISTENER_PORT や HTTP_SSL_LISTENER_PORT などの事前定義プロパティーを含む、既存のシステムプロパティーが表示されます。
この例は、ホスト localhost のシステムプロパティーを一覧表示します。
asadmin> list-system-properties http-listener-port=1088 Command list-system-properties executed successfully. |
コマンド行に asadmin help list-system-properties と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
システムプロパティーを削除するには、リモートモードで delete-system-property サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-system-properties(1) サブコマンドを使用して、既存のシステムプロパティーを一覧表示します。
delete-system-property(1) サブコマンドを使用して、システムプロパティーを削除します。
必要に応じて、システムプロパティーが削除されたことをユーザーに通知します。
この例は、localhost から http-listener-port という名前のシステムプロパティーを削除します。
asadmin> delete-system-property http-listener-port Command delete-system-property executed successfully. |
コマンド行に asadmin help delete-system-property と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
この節では、Enterprise Server 環境にリソースを統合する方法を説明します。JDBC のような特定リソースの管理に関する情報は、他の章に記載されています。
ここでは、次のテーマを取り上げます。
指定の XML ファイル内に名前が指定されているリソースを作成するには、リモートモードで add-resources サブコマンドを使用します。サポートするリソースは、JDBC 接続プールおよびリソース、JMS、JNDI、および JavaMail のリソース、カスタムリソース、コネクタリソースおよび作業セキュリティーマップ、admin オブジェクト、およびリソースアダプタの構成です。
XML ファイルは、as-install/domains/domain1/config ディレクトリに配置される必要があります。相対パスを指定した場合、または単に XML ファイルの名前を指定した場合は、このサブコマンドのオペランドの前に as-install/domains/domain1/config が付けられます。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
add-resources(1) サブコマンドを使用して、XML ファイルからリソースを追加します。
このサブコマンドのプロパティーについては、このマニュアルページに記載されています。
Enterprise Serverを再起動します。
「ドメインの再起動」を参照してください。
この例は、localhost の resource.xml の内容を使用して、リソースを作成します。
asadmin> add-resources c:\tmp\resource.xml Command : JDBC resource jdbc1 created successfully. Command : JDBC connection pool poolA created successfully. Command add-resources executed successfully. |
コマンド行に asadmin help add-resources と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
特定サーバーの Enterprise Server のバージョンに関する情報を表示するには、リモートモードで version サブコマンドを使用します。指定のログイン (ユーザーとパスワード) およびターゲット (ホストとポート) の情報を使用してサブコマンドがサーバーと通信できない場合は、ローカルバージョンと警告メッセージが表示されます
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
version(1) サブコマンドを使用してバージョンを表示します。
この例では、ローカルホストの Enterprise Server のバージョンを表示します。
asadmin> version Version = GlassFish v3 Command version executed successfully. |
コマンド行に asadmin help version と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
配備した JavaTM アプリケーションを一覧表示するには、リモートモードで list-applications サブコマンドを使用します。--type オプションを指定しない場合は、すべてのアプリケーションが一覧表示されます。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-applications(1) サブコマンドを使用して、アプリケーションを一覧表示します。
この例では、localhost の Web アプリケーションを一覧表示します。
asadmin> list-applications --type web hellojsp <web> Command list-applications executed successfully. |
コマンド行に asadmin help list-applications と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
アプリケーションコンテナを一覧表示するには、リモートモードで list-containers サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-containers(1) サブコマンドを使用して、コンテナを一覧表示します。
この例は、localhost のコンテナを一覧表示します。
asadmin> list-containers List all known application containers Container : grizzly Container : ejb Container : webservices Container : ear Container : appclient Container : connector Container : jpa Container : web Container : jruby Container : security Container : webbeans Command list-containers executed successfully. |
コマンド行に asadmin help list-containers と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
Enterprise Server のモジュールサブシステムにアクセスできるモジュールを一覧表示するには、リモートモードで list-modules サブコマンドを使用します。各モジュールの状態が含まれます。表示される状態には、NEW と READY があります。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-modules(1) サブコマンドを使用して、モジュールを一覧表示します。
この例はアクセス可能なモジュールを一覧表示します。
asadmin> list-modules |
次のような情報が表示されます (出力の一部を示す)。
List Of Modules Module : org.glassfish.web.jstl-connector:10.0.0.b28 properties=(visibility=public,State=READY,Sticky=true) Module Characteristics : List of Jars implementing the module Jar : file:/C:/Preview/v3_Preview_release/distributions/web/target/glass fish/modules/web/jstl-connector.jar Module Characteristics : List of imported modules Module Characteristics : Provides to following services Module : org.glassfish.admingui.console-common:10.0.0.b28 properties=(visibility=public,State=NEW,Sticky=true) Module : org.glassfish.admin.launcher:10.0.0.b28 properties=(visibility=public,State=NEW,Sticky=true) Module : org.glassfish.external.commons-codec-repackaged:10.0.0.b28 properties=(visibility=public,State=NEW,Sticky=true) Module : com.sun.enterprise.tiger-types-osgi:0.3.32.Preview-b28 properties=(visibility=public,State=READY,Sticky=true) Module Characteristics : List of imported modules Module Characteristics : Provides to following services Module Characteristics : List of Jars implementing the module Jar : file:/C:/Preview/v3_Preview_release/distributions/web/target/glass fish/modules/tiger-types-osgi.jar. . . . Command list-modules executed successfully. |
コマンド行に asadmin help list-modules と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
配備した asadmin のサブコマンドを一覧表示するには、リモートモードで list-commands サブコマンドを使用します。リモートサブコマンドのみ、またはローカルサブコマンドのみを一覧表示するように指定できます。このサブコマンドのデフォルトでは、ローカルサブコマンドのリストの後にリモートサブコマンドのリストが表示されます。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-commands(1) サブコマンドを使用して、サブコマンドを一覧表示します。
この例は、ローカルサブコマンドのみを一覧表示します。
asadmin> list-commands --localonly create-domain delete-domain list-commands list-domains login monitor start-database start-domain stop-domain stop-database version Command list-commands executed successfully. |
コマンド行に asadmin help list-commands と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
タイマーサービスは、エンタープライズ Bean コンテナによって提供され、エンタープライズ Bean が使用する通知やイベントのスケジュールに使用される、持続的なトランザクション通知サービスです。ステートフルセッション Beans 以外のエンタープライズ Beans はすべて、タイマーサービスからの通知を受信できます。このサービスによって設定された持続タイマーは、サーバーのシャットダウンや再起動では破棄されません。
指定のサーバーインスタンスが所有する持続タイマーを一覧表示するには、リモートモードで list-timers サブコマンドを使用します。この情報を使用して、タイマーを移行するかどうかの決定、または移行が正常に完了したかどうかの検証ができます。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-timers(1) サブコマンドを使用して、タイマーを一覧表示します。
この例は、特定のスタンドアロンサーバーインスタンスのタイマーを一覧表示します。現在、アクティブなタイマーが 1 つ設定されています。
asadmin> list-timers server 1 The list-timers command was executed successfully. |
指定した配備済みコンポーネントの状態 (有効または無効) を取得するには、リモートモードで show-component-status サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
show-component-status(1) サブコマンドを使用して、コンポーネントの状態を表示します。
この例は、MEjbApp コンポーネントの状態を表示します。
asadmin> show-component-status MEjbApp Status of MEjbApp is enabled Command show-component-status executed successfully. |
Enterprise Server は、新規にインストールされたアドオンコンポーネントが提供するデータなど、Enterprise Server の監視データや構成データにアクセスできる表現状態転送 (REST) インタフェースを装備しています。
Enterprise Server の REST インタフェースには、次のようなクライアントアプリケーションからアクセスできます。
また、Enterprise Server の REST インタフェースは、次のような言語で開発された REST クライアントアプリケーションでも使用できます。
JavaScript
Ruby
Perl
Java
JavaFX
Enterprise Server の REST インタフェースの実装は、project Jersey をベースにしています。Project Jersey は、Java TM 仕様要求 (JSR) 311: JAX-RS、RESTful Web サービス用 Java API の参照実装です。JSR 311 に関する情報は、JSR 311 プロジェクトのホームページにも記載されています。
ここでは、次のテーマを取り上げます。
構成および監視のオブジェクトツリーの各ノードは、HTTP uniform resource locator (URL) からアクセスできる REST リソースとして表現されます。Enterprise Server の監視データや構成データの REST リソースにアクセスするには、稼働中の DAS が必要です。
構成および監視のオブジェクトツリーのノードを表現するリソースの URL の形式は、次のとおりです。
構成: http:// host:port/management/domain/ path
監視: http:// host:port/monitoring/domain/ path
これらの URL で置き換え可能な項目は次のとおりです。
DAS が稼働中のホスト
管理用の HTTP ポートまたは HTTPS ポート
ノードへのパス。パスはノードのドット表記名で、各ドット (.) がスラッシュ (/) に置換されます。詳細については次のドキュメントを参照してください。
Enterprise Server の監視データまたは構成データについて、REST リソースの URL を Web ブラウザで開いた場合、ブラウザには、リソースの次の情報を含む Web ページが表示されます。
リソースの属性とその値のリストリソースが構成ツリーのノードを表現している場合は、それらの属性は、リソースの更新に使用できる HTML 形式で表示されます。監視ツリーにあるノードのリソースの属性は、読み取り専用です。
リソースの子を示すハイパーテキストリンクのリストこのリンクのリストを使用して、リソースを含むツリー内を移動して、ツリー内のすべてのリソースを検出できます。
次の図に、ドメインを管理する REST リソースの Web ページを示します。
Enterprise Server の REST インタフェースは、監視および構成のオブジェクトツリーのノードにアクセスする方法をサポートしています。
次の表に、監視データや構成データを管理する REST メソッド、および各メソッドで実行できるタスクを示します。これらのメソッドは、HTTP 1.1 プリミティブです。これらのプリミティブの詳細仕様については、Hypertext Transfer Protocol -- HTTP/1.1 を参照してください。
表 2–1 監視データと構成データを管理する REST リソースメソッド
作業 |
REST メソッド |
---|---|
ツリー内のノードがサポートするメソッドおよびメソッドパラメータの判定 |
OPTIONS または GET |
ツリー内のノードのデータ取得 |
GET |
ツリーへのノードの追加 |
POST |
ツリー内のノードの更新 |
POST |
ツリーからのノードの削除 |
DELETE |
GET メソッドを OPTIONS メソッドの代わりに使用して、ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定することができます。GET メソッドは、ノードの追加情報も表示します。詳細については、「ツリー内のノードのデータを取得する」を参照してください。
ツリー内のノードがサポートするメソッドおよびメソッドパラメータは、ノードを表す REST リソースによって決まります。
監視用の REST リソースは、GET メソッドのみをサポートします。
構成用の REST リソースはすべて、GET メソッドおよび OPTIONS メソッドをサポートします。ただし、構成用の一部の REST リソースは、POST メソッドと DELETE メソッドもサポートします。
ツリーのノードで操作を実行する前に、そのノードがサポートするメソッドおよびメソッドパラメータを判定します。
この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表す REST リソースに対して、適切なメソッドを使用します。
GET メソッドと OPTIONS メソッドは、リソースがサポートするメソッドのリストを返します。各メソッドについて、使用できるメッセージパラメータのリスト、または使用できるクエリーパラメータのリストが返されます。
この例は、cURL ユーティリティーを使用して、ドメインのリソースがサポートするメソッドおよびメソッドパラメータを判定します。この例は、cURL ユーティリティーの次に示すオプションを使用します。
-X: OPTIONS メソッドを使用していることを示します
-H: リソースが JavaScript Object Notation (JSON) で記述されていることを示します
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。OPTIONS メソッドに加えて、このリソースは POST メソッドと GET メソッドをサポートしています。
curl -X OPTIONS -H "Accept: application/json" http://localhost:4848/management/domain {"Domain": { "Method":{ "Name":"POST", "Message Parameters":{ "log-root":{"Key":"false", "Type":"string", "Optional":"true"}, "application-root":{"Key":"false", "Type":"string", "Optional":"true"}, "locale":{"Key":"false", "Type":"string", "Optional":"true"}, "version":{"Key":"false", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" } } } |
ツリー内のノードのデータを取得すると、そのノードを表す REST リソースに関する次の情報が得られます。
リソースがサポートする REST メソッドのリスト
リソースの属性とその値のリスト
リソースの子の URL のリスト
この情報の表示形式を指定できます。詳細については、「リソースの表現形式」を参照してください。
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表す REST リソースに対して、GET メソッドを使用します。
この例は、cURL ユーティリティーを使用して、ドメインのリソースデータを取得します。この例は、cURL ユーティリティーの次に示すオプションを使用します。
-X: GET メソッドを使用していることを示します
-H: リソースが JavaScript Object Notation (JSON) で記述されていることを示します
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain { "Domain":{"log-root":"${com.sun.aas.instanceRoot}/logs", "application-root":"${com.sun.aas.instanceRoot}/applications", "locale":"", "version":"74.1"}, "Methods":{ "Method":{ "Name":"POST", "Message Parameters":{ "log-root":{"Key":"false", "Type":"string", "Optional":"true"}, "application-root":{"Key":"false", "Type":"string", "Optional":"true"}, "locale":{"Key":"false", "Type":"string", "Optional":"true"}, "version":{"Key":"false", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" } }, "Child Resources":[ "http://localhost:4848/management/domain/configs", "http://localhost:4848/management/domain/resources", "http://localhost:4848/management/domain/servers", "http://localhost:4848/management/domain/property", "http://localhost:4848/management/domain/applications", "http://localhost:4848/management/domain/system-applications", "http://localhost:4848/management/domain/stop", "http://localhost:4848/management/domain/restart", "http://localhost:4848/management/domain/uptime", "http://localhost:4848/management/domain/version", "http://localhost:4848/management/domain/rotate-log", "http://localhost:4848/management/domain/host-port" ] |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードの親を表すリソースの POST メソッドについて、使用できるメッセージパラメータを調べます。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
追加するノードの親を表す REST リソースに対して、POST メソッドを使用します。
ノードが追加されたことを確認します。
追加したノード (親ではない) を表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを作成することにより、ツリーに JDBC リソースを追加します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース jdbc-resource の POST メソッドに使用できるメッセージパラメータを調べます。
curl -X OPTIONS -H "Accept: application/json" http://localhost:4848/management/domain/resources/jdbc-resource {"JdbcResource": { "Method":{ "Name":"POST", "Message Parameters":{ "id":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"false"}, "enabled":{"Acceptable Values":"", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "description":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "property":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "connectionpoolid":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"false"} } }, "Method":{ "Name":"GET" } } } |
この手順は、jdbc-resource リソースの子としてリソースを追加します。cURL ユーティリティーのオプション -d は、必要なメッセージパラメータを次のように設定します。
id が jdbc/myjdbcresource に設定されます。
connectionpoolid が DerbyPool に設定されます。
curl -X POST -d "id=jdbc/myjdbcresource&connectionpoolid=DerbyPool" http://localhost:4848/management/domain/resources/jdbc-resource "http://localhost:4848/management/domain/resources/jdbc-resource/ jdbc/myjdbcresource" created successfully. |
この手順は、ノードを表す REST リソースのデータを取得することにより、ノードが追加されたことを確認します。
curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource { "JdbcMyjdbcresource":{"enabled":"true", "pool-name":"DerbyPool", "description":"", "jndi-name":"jdbc/myjdbcresource", "object-type":"user"}, "Methods":{ "Method":{ "Name":"POST", "Message Parameters":{ "enabled":{"Key":"false", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "pool-name":{"Key":"false", "Type":"string", "Optional":"true"}, "description":{"Key":"false", "Type":"string", "Optional":"true"}, "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"}, "object-type":{"Key":"false", "Default Value":"user", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" }, "Method":{ "Name":"DELETE", "Message Parameters":{ "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"} } } } } |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードを表すリソースの POST メソッドについて、使用できるメッセージパラメータを判定します。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
更新するノードを表す REST リソースに対して、POST メソッドを使用します。
ノードが更新されたことを確認します。
この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを変更することにより、ツリーの JDBC リソースを更新します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース jdbc-myjdbcresource の POST メソッドに使用できるメッセージパラメータを調べます。
curl -X OPTIONS -H "Accept: application/json" http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource {"JdbcMyjdbcresource": { "Method":{ "Name":"POST", "Message Parameters":{ "enabled":{"Key":"false", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "pool-name":{"Key":"false", "Type":"string", "Optional":"true"}, "description":{"Key":"false", "Type":"string", "Optional":"true"}, "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"}, "object-type":{"Key":"false", "Default Value":"user", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" }, "Method":{ "Name":"DELETE", "Message Parameters":{ "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"} } } } } |
この手順は、jdbc-myjdbcresource が表す JDBC リソースを無効にするように、REST リソース jdbc-myjdbcresource を更新します。cURL ユーティリティーのオプション -d は、メッセージパラメータ enabled を disabled に設定します。
curl -X POST -d "enabled=false" http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource "http://localhost:4848/management/domain/resources/jdbc-resource/ jdbc-myjdbcresource" updated successfully. |
この手順は、ノードを表す REST リソースのデータを取得することにより、ノードが更新されたことを確認します。
curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource { "JdbcMyjdbcresource":{"enabled":"false", "pool-name":"DerbyPool", "description":"", "jndi-name":"jdbc/myjdbcresource", "object-type":"user"}, "Methods":{ "Method":{ "Name":"POST", "Message Parameters":{ "enabled":{"Key":"false", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "pool-name":{"Key":"false", "Type":"string", "Optional":"true"}, "description":{"Key":"false", "Type":"string", "Optional":"true"}, "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"}, "object-type":{"Key":"false", "Default Value":"user", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" }, "Method":{ "Name":"DELETE", "Message Parameters":{ "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"} } } } } |
サーバーが実行されていることを確認します。
Enterprise Server のデータについて、REST リソースを操作するには、稼働中のサーバーが必要です。
ノードが削除できることを確認します。
この手順の実行方法については、「ツリー内のノードがサポートするメソッドおよびメソッドパラメータを判定する」を参照してください。
ノードが削除されたことを確認します。
削除したノードを表すリソースに対してこの手順を実行します。この手順の実行方法については、「ツリー内のノードのデータを取得する」を参照してください。
この例は、cURL ユーティリティーを使用して、JDBC リソースを表す REST リソースを削除することにより、ツリーから JDBC リソースを削除します。
この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。
改行は読みやすくするためです。
この手順は、リソース jdbc-myjdbcresource がサポートする REST のメソッドを取得することにより、ノードが削除できることを確認します。
curl -X OPTIONS -H "Accept: application/json" http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource {"JdbcMyjdbcresource": { "Method":{ "Name":"POST", "Message Parameters":{ "enabled":{"Key":"false", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "pool-name":{"Key":"false", "Type":"string", "Optional":"true"}, "description":{"Key":"false", "Type":"string", "Optional":"true"}, "jndi-name":{"Key":"true", "Type":"string", "Optional":"true"}, "object-type":{"Key":"false", "Default Value":"user", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" }, "Method":{ "Name":"DELETE", "Message Parameters":{ "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"} } } } } |
この手順は、リソース jdbc-myjdbcresource を削除します。
curl -X DELETE http://localhost:4848/management/domain/resources/ jdbc-resource/jdbc-myjdbcresource |
この手順は、ノードの親を表す REST リソースのデータを取得することにより、ノードが削除されたことを確認します。
curl -X GET -H "Accept: application/json" http://localhost:4848/management/domain/resources/jdbc-resource/ { "JdbcResource":{}, "Methods":{ "Method":{ "Name":"POST", "Message Parameters":{ "id":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"false"}, "enabled":{"Acceptable Values":"", "Default Value":"true", "Type":"boolean", "Optional":"true"}, "description":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "target":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "property":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"true"}, "connectionpoolid":{"Acceptable Values":"", "Default Value":"", "Type":"string", "Optional":"false"} } }, "Method":{ "Name":"GET" } }, "Child Resources":[ "http://localhost:4848/management/domain/resources/jdbc-resource/ jdbc-__TimerPool", "http://localhost:4848/management/domain/resources/jdbc-resource/ jdbc-__default" ] |
Enterprise Server の REST インタフェースは次に示すように、作成、読み取り、更新、および削除 (CRUD) 以外の操作もサポートしています。
状態管理
クエリー
アプリケーション配備
これらの操作は、操作の実行対象リソースの子リソースを通じてサポートされます。子リソースは、構成オブジェクトツリーのノードを表しません。
たとえば、ドメイン管理用リソースは、次の表に示す CRUD 以外の操作用の子リソースを提供します。
表 2–2 ドメインでの CRUD 以外の操作用の子リソース
リソース |
アクション |
---|---|
host-port |
DAS が稼働中のホスト、および DAS が HTTP 要求を待機するポートを表示します。 |
restart |
ドメインの DAS を停止し、その後再起動します。 |
rotate-log |
タイムスタンプ名を持つファイルを server.log_date-and-time の形式の名前に変更し、空のログを作成することにより、サーバーログファイルをローテーションします。 |
stop |
ドメインの DAS を停止します。 |
uptime |
DAS の最後の再起動後の動作時間を表示します。 |
version |
Enterprise Server のバージョン情報を表示します。 |
Enterprise Server の REST インタフェースは、セキュアな接続上での基本認証をサポートしています。セキュリティーを有効にしたときには、REST リソースの URL にプロトコルとして https を指定し、ユーザー名とパスワードを指定する必要があります。
Enterprise Server の REST インタフェースのセキュリティー保護では、次のタスクシーケンスが実行されます。
admin-realm ユーザーを asadmin ユーザーグループに追加
Secure Sockets Layer (SSL) を有効化
コマンド行からこれらのタスクを実行する方法については、次に示すドキュメントを参照してください。
管理コンソール を使用してこれらのタスクを実行する方法については、管理コンソール のオンラインヘルプから次に示すトピックを参照してください。
管理レルムにユーザーを追加する
プロトコルの SSL 設定を編集する
Enterprise Server の REST インタフェースは、次に示す形式でリソースを表現します。
XML
HTML
リソースの表現を指定する方法は、Enterprise Server の REST インタフェースへのアクセス方法によって異なります。たとえば、cURL ユーティリティーを使用している場合は、オプション -H を使用して、次のようにリソースの表現を指定します。
JSON の場合は、-H "Accept: application/json" を指定します。
XML の場合は、-H "Accept: application/xml" を指定します。
HTML の場合は、オプション -H を省略します。
リソースの JSON 表現の一般的な形式は次のとおりです。
{ "resource":{attributes}, "Methods": { method-list } "Child Resources":[urls] }
この形式の置き換え可能な項目は次のとおりです。
リソース名。
コンマ (,) で区切られたゼロ以上の名前と値のペア。名前と値の各ペアは、"名前":値 として指定します。
リソースがサポートするメソッドを表現する、コンマ (,) で区切られた 1 つ以上のメタデータのセット。 各メタデータセットの形式については、「メソッドリストのメソッドの JSON 表現」を参照してください。
コンマ (,) で区切られたゼロ以上の子リソースの URL。
メソッドリストのメソッドの JSON 表現は、次のとおりです。
Method":{ "Name":"method-name", "Message Parameters":{ message-parameter-list } "Query Parameters":{ queryparameter- list } }
この形式の置き換え可能な項目は次のとおりです。
GET、POST、DELETE のいずれかのメソッド名。
メソッドで使用できるメッセージパラメータを表す、コンマ (,) で区切られたゼロ以上のメタデータのセット。各メタデータセットの形式については、「メッセージパラメータまたはクエリーパラメータの JSON 表現」.を参照してください。
メソッドで使用できるクエリーパラメータを表す、コンマ (,) で区切られたゼロ以上のメタデータのセット。各メタデータセットの形式については、「メッセージパラメータまたはクエリーパラメータの JSON 表現」.を参照してください。
メッセージパラメータまたはクエリーパラメータの JSON 表現は、次のとおりです。
"parameter-name":{attribute-list}
この形式の置き換え可能な項目は次のとおりです。
パラメータ名。
コンマで区切られた、パラメータの属性の名前と値のペアのリスト。各ペアの形式は次のとおりです。
"name":"value"
使用できる属性は次のとおりです。
この例は、ドメイン管理用リソースの JSON 表現を示します。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。
改行は読みやすくするためです。
{ "Domain":{"log-root":"${com.sun.aas.instanceRoot}/logs", "application-root":"${com.sun.aas.instanceRoot}/applications", "locale":"", "version":"73"}, "Methods":{ "Method":{ "Name":"POST", "Message Parameters":{ "log-root":{"Key":"false", "Type":"string", "Optional":"true"}, "application-root":{"Key":"false", "Type":"string", "Optional":"true"}, "locale":{"Key":"false", "Type":"string", "Optional":"true"}, "version":{"Key":"false", "Type":"string", "Optional":"true"} } }, "Method":{ "Name":"GET" } }, "Child Resources":[ "http://localhost:4848/management/domain/configs", "http://localhost:4848/management/domain/resources", "http://localhost:4848/management/domain/servers", "http://localhost:4848/management/domain/property", "http://localhost:4848/management/domain/applications", "http://localhost:4848/management/domain/system-applications", "http://localhost:4848/management/domain/stop", "http://localhost:4848/management/domain/restart", "http://localhost:4848/management/domain/uptime", "http://localhost:4848/management/domain/version", "http://localhost:4848/management/domain/rotate-log", "http://localhost:4848/management/domain/host-port" ] } |
リソースの XML 表現の一般的な形式は次のとおりです。
<resource attributes> <Methods> method-list </Methods> children </type>
この形式の置き換え可能な項目は次のとおりです。
リソース名。
空白文字 1 つで区切られたゼロ以上の名前と値のペア。名前と値の各ペアは名前="値"として指定します。
リソースがサポートするメソッドを表現する、1 つ以上の XML 要素。 各要素の形式については、「リソースメソッドの XML 表現」を参照してください。
子リソースの URL を指定するゼロ以上の XML 要素。各要素は、<child-resource> url</child-resource> として指定します。child-resource は子リソースの名前、url は子リソースの URL です。
メソッドリストのメソッドの XML 表現は、次のとおりです。
<Method name="method-name"> <Message-Parameters> message-parameter-list </Message-Parameters> <Query-Parameters> query-parameter-list </Query-Parameters> </Method>
この形式の置き換え可能な項目は次のとおりです。
GET、POST、DELETE のいずれかのメソッド名。
メソッドで使用できるメッセージパラメータを表す、改行で区切られたゼロ以上の XML 要素。各要素の形式については、「メッセージパラメータまたはクエリーパラメータの XML 表現」を参照してください。
メソッドで使用できるクエリーパラメータを表す、改行で区切られたゼロ以上の XML 要素。各要素の形式については、「メッセージパラメータまたはクエリーパラメータの XML 表現」を参照してください。
メッセージパラメータまたはクエリーパラメータの XML 表現は、次のとおりです。
<parameter-name attribute-list/>
この形式の置き換え可能な項目は次のとおりです。
パラメータ名。
空白文字で区切られた、パラメータの属性の名前と値のペアのリスト。各ペアの形式は次のとおりです。
name="value"
使用できる属性は次のとおりです。
この例は、ドメイン管理用リソースの XML 表現を示します。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。
改行は読みやすくするためです。
<Domain log-root="${com.sun.aas.instanceRoot}/logs" application-root="${com.sun.aas.instanceRoot}/applications" locale="" version="73"> <Methods> <Method name="POST"> <Message-Parameters> <log-root Key="false" Type="string" Optional="true"/> <application-root Key="false" Type="string" Optional="true"/> <locale Key="false" Type="string" Optional="true"/> <version Key="false" Type="string" Optional="true"/> </Message-Parameters> </Method> <Method name="GET"> </Method> </Methods> <Child-Resources> <Child-Resource>http://localhost:4848/management/domain/configs</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/resources</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/servers</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/property</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/applications</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/system-applications</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/stop</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/restart</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/uptime</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/version</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/rotate-log</Child-Resource> <Child-Resource>http://localhost:4848/management/domain/host-port</Child-Resource> </Child-Resources> </Domain> |
リソースの HTML 表現の形式は Web ページであり、リソースに関して次の情報を提供します。
リソースの属性とその値のリスト
リソースがサポートするメソッドおよびメソッドパラメータのリスト各メソッドとそのパラメータは、HTML フォーム内の適切な型を持つフィールドとして表示されます。
リソースの子を示すハイパーテキストリンクのリスト
Web ページの例については、図 2–1 を参照してください。この例では、DAS がローカルホストで稼働中で、管理用の HTTP ポートは 4848 です。この例のリソースの URL は、http://localhost:4848/management/domain です。