asadminコマンドは、Java EE 6の実行環境のための統合コマンドであり、Java EE 6の実行環境の構築や、システム稼動後の運用操作を行うことができます。
注意
asadminのサブコマンドのオプションやオペランドにサポート範囲外の値を設定できることがあります。「第7章 定義項目一覧」の「範囲」、および本章記載の各サブコマンドの「オプション」、「オペランド」を参照して、オプションとオペランドの値を指定してください。
以下について説明します。
コマンドの実行権限
本コマンドはInterstage運用グループのユーザーだけ実行可能です。
Interstage運用グループについては、「5.2.2 Java EE 6運用環境のロール」を参照してください。
コマンド利用時のログイン認証
本コマンドの利用時はログイン認証が必要となります。
ログイン認証ついての詳細は「5.2.7.1 asadminコマンドのログイン認証」を参照してください。
コマンド構成
asadminコマンドは、複数のサブコマンドから構成されています。それぞれのサブコマンドはJava EE 6実行環境の操作と対応しています。なお、サブコマンドごとに指定できるオプションは異なります。
コマンドの実行時には、以下のように共通オプション、サブコマンド、サブコマンドのオプション、オペランドを指定します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin 共通オプション サブコマンド サブコマンドのオプション オペランド |
/opt/FJSVisje6/glassfish/bin/asadmin 共通オプション サブコマンド サブコマンドのオプション オペランド |
注意
Java EE 6の実行環境の操作は、Interstage Java EE 6 DASサービスを経由して行われます。
そのため、一部のサブコマンドを除き、asadminコマンドの実行時にはInterstage Java EE 6 DASサービスが起動している必要があります。
コマンドプロセスのJavaVMオプション設定
asadminコマンドを起動する場合、通常のJavaアプリケーションと同様に内部的にJavaアプリケーションの起動コマンド(Javaコマンド)を使用します。
このJavaアプリケーションの起動コマンドで指定可能なオプション(-Xmxオプションなど)を指定する場合には、環境変数VMARGSを指定してください。以下にオプションの指定例を示します。
VMARGS= -Xmx512m |
注意
-classpathオプションは指定しないでください。
以下のように不当な値を指定した場合、javaコマンドのエラーが発生します。オプションの指定方法はjavaコマンドの説明を参照してください。空白を含む値を指定する場合、値をダブルコーテーション(")で囲む必要があります。
無効なオプションを指定した場合
set VMARGS=-option |
set VMARGS=-option |
不当な空白を指定した場合
set VMARGS=option1 option2 |
set VMARGS=option1 option2 |
オプション
asadminコマンドのオプションは、「--user」のようにキーワードの先頭にハイフンを2つ付加した形式です。
値の指定方法について以下に説明します。
オプション種別 | 値の指定方法 | 使用例 |
---|---|---|
文字列・数値を指定するオプション | オプションと値の間を空白または「=」で区切って指定する。(注) | --user admin |
注)ハイフン(「-」)から始まるオプションの値を指定する場合、オプション名と値を「=」で区切って指定してください。
Boolean値を指定するオプションは、値を省略してオプションだけを指定できるものがあります。オプションだけを指定する場合は、「=」も省略します。値の指定を省略した場合、省略値として「true」が設定されます。
これにより、以下の2つの入力は同じ意味になります。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin deploy --enabled=true
|
/opt/FJSVisje6/glassfish/bin/asadmin deploy --enabled=true
|
省略不可のオプションを省略した場合は、オプションの入力が求められます。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jdbc-resource test Enter the value for the connectionpoolid option> DerbyPool JDBC resource test created successfully. Command create-jdbc-resource executed successfully. |
/opt/FJSVisje6/glassfish/bin/asadmin create-jdbc-resource test Enter the value for the connectionpoolid option> DerbyPool JDBC resource test created successfully. Command create-jdbc-resource executed successfully. |
頻繁に使用されるオプションは、英単語一文字の簡略名を指定できます。簡略名の場合は、先頭のハイフンは1つです。簡略名の使用例を以下に示します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin -p=12011 list-components |
/opt/FJSVisje6/glassfish/bin/asadmin -p=12011 list-components |
複数のオプションを同時に指定したい場合は、空白で区切って指定します。同じオプションが複数指定された場合はエラーになります。
例えば、以下のケースでは、エラーメッセージを表示してコマンドが終了します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin --port=12011 --port=12011 list-domains |
/opt/FJSVisje6/glassfish/bin/asadmin --port=12011 --port=12011 list-domains |
コマンド実行時に不正なオプションを指定した場合は、サブコマンドのエラーメッセージが表示されてコマンドが終了します。正しいオプションは、「9.1.1 asadminコマンドのサブコマンド一覧」のそれぞれのサブコマンドを参照してください。
オペランド
オペランドはコマンドの引数の最後尾に指定する文字列であり、操作対象の名前などを指定する時に使用します。
正しいオペランドは、「9.1.1 asadminコマンドのサブコマンド一覧」のそれぞれのサブコマンドを参照してください。
省略不可のオペランドを省略した場合は、オペランドの入力が求められます。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jdbc-resource --connectionpoolid DerbyPool Enter the value for the jndi_name operand> test JDBC resource test created successfully. Command create-jdbc-resource executed successfully. |
/opt/FJSVisje6/glassfish/bin/asadmin create-jdbc-resource --connectionpoolid DerbyPool Enter the value for the jndi_name operand> test JDBC resource test created successfully. Command create-jdbc-resource executed successfully. |
targetの指定
各サブコマンドの--targetオプションまたはオペランドで操作対象を指定する場合に指定できる値について説明します。
指定できる値 | 説明 |
---|---|
IJServerクラスタ名 | 作成済みのIJServerクラスタに対して操作を実施します。 |
サーバーインスタンス名 | 作成済みのサーバーインスタンスに対して操作を実施します。 |
設定名 | 作成済みのInterstage Java EE 6 DASサービスの設定または、IJServerクラスタの設定に対して操作を実施します。 Interstage Java EE 6 DASサービスの設定名は「server-config」です。 IJServerクラスタの設定名は「IJServerクラスタ名-config」です。 |
server | Interstage Java EE 6 DASサービスに対して操作を実施します。 |
domain | ドメイン(Java EE 6運用環境)に対して操作を実施します。
|
各サブコマンドで指定できる値が異なるため、どの値が指定できるかは各サブコマンドの説明を参照してください。
ユーザとパスワードの指定
asadminコマンド利用時、以下のいずれかの方法でInterstage Java EE 6 DASサービスへの認証に使用するユーザとパスワードを指定します。
asadminコマンドの実行時に以下のような問い合わせが行われますので、ユーザとパスワードをそれぞれ入力します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin login |
/opt/FJSVisje6/glassfish/bin/asadmin login |
--userオプションと--passwordfileオプションを指定することで、asadminコマンド実行時のユーザとパスワードの入力を省略できます。
以下に実行例を示します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin --user admin --passwordfile passwordfile.txt list-domains |
/opt/FJSVisje6/glassfish/bin/asadmin --user admin --passwordfile passwordfile.txt list-domains |
--passwordfileオプションで指定するパスワードファイルは、AS_ADMIN_PASSWORDを使用して記述します。
AS_ADMIN_PASSWORD=パスワード |
なお、指定したパスワードファイルが参照できない場合は、コマンドの実行に失敗します。出力されたエラーメッセージを参照して対処を行ってください。
また、ユーザのホームディレクトリに.asadminpassファイルが存在していても、--passwordfileオプションが指定された場合は--passwordfileオプションの内容が優先されます。
.asadminpassファイルの詳細は、loginサブコマンドを参照してください。
--userオプションと--passwordfileオプションについては「9.1.2 asadminコマンドの共通オプション」も参照してください。
注意
パスワードファイルに記述したパスワードを保護するため、テキストエディタにより作成したパスワードファイルのアクセス権を600に設定してください。
asadminコマンドのloginサブコマンドを利用することで、asadminコマンド実行時のInterstage Java EE 6 DASサービスの管理ユーザーIDとパスワードの入力を省略できます。詳細は、loginサブコマンドを参照してください。
セパレータ
asadminコマンドのオペランド、オプションには複数の値を指定できるものがあります。複数の値を指定する場合、セパレータを指定して各値を区切る必要があります。詳細は、各サブコマンドを参照してください。
エスケープ文字の利用
コマンドのオプションまたはオペランドの値に以下に示す文字を利用する場合、エスケープ文字として'\'を指定する必要があります。
注意
get/set/listサブコマンドのオペランド(定義項目名)には指定できない文字があります。get/set/listサブコマンドのオペランド(定義項目名)で利用可能な文字については、「9.1.4 定義項目参照/更新」の「定義項目名に指定可能な文字」を参照してください。
文字の種類 | 説明 | 文字 |
---|---|---|
メタ文字(Solaris/Linux) | メタ文字(Solaris/Linux)として利用される文字 | ;&()|><*?[]~+-@!"'\`${}^ (注) |
Javaエスケープシーケンス | Javaにおいてエスケープ文字として利用される文字 | \、"など |
asadminコマンドの区切り文字 | asadminコマンドの区切り文字である文字 | : |
asadminコマンドの特殊文字 | 以下のサブコマンドで、エスケープ文字として利用される特殊文字
| .-:= |
注) 利用しているShellの種類により、メタ文字(Solaris/Linux)として扱われる文字が異なります。Bourne ShellとC Shellのメタ文字(Solaris/Linux)について、以下に説明します。
| Bourne Shell | C Shell |
| Bourne Shell | C Shell |
| Bourne Shell | C Shell |
---|---|---|---|---|---|---|---|---|
; | ○ | ○ | ? | × | ○ | " | ○ | ○ |
& | ○ | ○ | [ | × | ○ | ' | ○ | ○ |
( | ○ | ○ | ] | × | × | \ | ○ | ○ |
) | ○ | ○ | ~ | × | × | ` | ○ | ○ |
| | ○ | ○ | + | × | - | $ | ○ | ○ |
> | ○ | ○ | - | × | - | { | - | ○ |
< | ○ | ○ | @ | × | - | } | - | × |
* | × | ○ | ! | ○ | ○ | ^ | - | × |
○:エスケープが必要
×:エスケープは不要
-:メタ文字(Solaris/Linux)ではない
例
エスケープ文字の利用の実行例
実行例を以下に示します。
オプションの値に「c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jvm-options -Dlocation=c\:\\foo\\bar |
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options -Dlocation=c\\:\\\\foo\\\\bar |
propertyオプションに以下のnameとvalueを指定する場合について説明します。
user=scott:password=tiger:url=jdbc:oracle:thin:@//localhost:1521/sampledb |
以下のようにエスケープ文字を使用します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\:oracle\:thin\:@//localhost\:1521/sampledb SamplePool |
/opt/FJSVisje6/glassfish/bin/asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\\:oracle\\:thin\\:@//localhost\\:1521/sampledb SamplePool |
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jvm-options -e\:-Dlocation=c\:\\foo\\bar |
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options -e\\:-Dlocation=c\\:\\\\foo\\\\bar |
この場合、'\'の本来の意味を表現するために4つのエスケープ文字(\\\\)を指定する必要があります。それぞれの'\'の意味は以下のとおりです。
1つ目の'\': メタ文字(Solaris/Linux)のエスケープ
2つ目の'\': Javaエスケープシーケンスのエスケープ
3つ目の'\': メタ文字(Solaris/Linux)のエスケープ
4つ目の'\': 本来の'\'を意味します
1つ目の'\'は2つ目の'\'に対するエスケープ、3つ目の'\'は4つ目の'\'に対するエスケープです。
'\'に対してJavaエスケープシーケンスを指定する場合、'\\'と表記します。
'\'はメタ文字(Solaris/Linux)に該当するため、Solaris/Linuxのasadminコマンドで上記を指定する場合はそれぞれの'\'に対してエスケープ文字として'\'を付加する必要があります。
get/set/listサブコマンドで、「sample.name」のようにピリオドが含まれた文字列をキー名に指定する場合、以下のようにエスケープ文字を使用します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin set applications.application.appName.property.sample\.name=samplevalue |
/opt/FJSVisje6/glassfish/bin/asadmin set testserver.property.sample\\.name=samplevalue |
オペランドに先頭が'-'である文字列を指定し、かつ、その文字列がコマンドオプションと合致する場合、先頭の'-'をエスケープする必要があります。
例えば、-s、-o=value、--switch、--option=valueなどをオペランドに指定する場合は、先頭の'-'をエスケープする必要があります。
以下に使用例で説明します。
create-jvm-options、delete-jvm-optionsサブコマンドで、オプションの値に「-Xmx512m」や「-Dlocation=c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jvm-options \-Dlocation=c\:\\foo\\bar (注1) |
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options \\-Dlocation=c\\:\\\\foo\\\\bar (注1) |
注1) create-jvm-optionsサブコマンドで、「-xxxx=yyyy」(xxxxはオプション、yyyyは指定値)の形式のオペランド(Java VMのオプション)を指定する場合は、以下のようにオプションの「-」部分についてはエスケープ文字を使用しないで指定することもできます。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jvm-options -Dlocation=c\:\\foo\\bar |
/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options -Dlocation=c\\:\\\\foo\\\\bar |
注2) create-jvm-optionsサブコマンドで、「-xxxx」(xxxxはオプション)の形式のオペランドを指定する場合は、注1)の場合と異なり、例のようにオプションの「-」部分についてエスケープ文字を使用する必要があります。
空白を含む文字列の指定
list-domainsサブコマンドで、--passwordfileオプションの値に「sample password.txt」を指定する場合、以下のように実行します。
C:\Interstage\F3FMisje6\glassfish\bin\asadmin --passwordfile "sample password.txt" list-domains |
コマンドラインでは、コマンドオプションに空白を含む文字列を指定できません。
注意
空白を含む文字列を指定する場合の注意
末尾が空白である値は指定できません。指定した場合、末尾の空白が取り除かれた値が有効になります。
入力文字列長の上限
asadminコマンド実行時の入力文字列長の上限を以下に示します。
955バイト | 970バイト |
注意
入力文字列長が上限を超えた場合でも、コマンドが実行できることがあります。
しかし、その場合、動作不定となります。
asadminコマンドの注意事項
asadminサブコマンドにより定義更新を行う場合、サーバーインスタンスの起動状態やtargetオプションの指定にかかわらず、同期化対象のサーバーインスタンス分のサブコマンド実行結果が出力されることがあります。
サブコマンド実行時、同期化対象のサーバーインスタンスが起動している場合、以下のメッセージが出力されます。
サーバーインスタンス名: コマンド実行結果 |
サブコマンド実行時において、同期化対象のサーバーインスタンスが起動していない場合、かつサーバーインスタンスが一度でも起動されたことがある場合、以下のメッセージが出力されます。次回起動時に同期化が行われるため対処の必要ありません。
WARNING: Instance サーバーインスタンス名 seems to be offline; command コマンド名 was not replicated to that instance |
注意
サブコマンド実行時、同期化対象のサーバーインスタンスが起動していない場合、かつサーバーインスタンスが一度も起動されたことがない場合、メッセージは出力されません。次回起動時に同期化が行われるため対処の必要ありません。
一部のサブコマンドでは、上記に該当する場合でもメッセージが出力されない場合があります。
同期化対象は、サブコマンドの種類により、以下のいずれかとなります。同期化の対象については、各サブコマンドの「注意事項」を参照してください。
Java EE 6環境のすべてのサーバーインスタンス
「target」(または「オペランド」)に指定したサーバーインスタンスが属するIJServerクラスタ内または指定したIJServerクラスタ内の、すべてのサーバーインスタンス
asadminコマンドの競合操作は行わないでください。
動作不定となるため、asadminコマンドの実行画面でCtrl+Cの操作を行わないでください。