B FAQ: WLST
WLST全般
WLSTに関する一般的な質問が扱われます。
WLSTと、WebLogic Serverの既存のコマンド・ライン・ユーティリティ(wlconfig、weblogic.Deployerなど)はどのような関係にありますか。
WLSTの機能には、以下のWebLogic Serverコマンド・ライン・ユーティリティの機能が含まれます。
-
WebLogic Server構成の変更を行うための
wlconfig
Antタスク・ツール(Oracle WebLogic Serverアプリケーションの開発のAntタスクを使用したWebLogic Serverドメインの構成と使用を参照) -
アプリケーション開発のための
weblogic.Deployer
ユーティリティ(Oracle WebLogic Serverへのアプリケーションのデプロイのデプロイメント・ツールを参照)
他のコマンドライン・ユーティリティやWebLogic Server管理コンソールよりもWLSTの使用を選択するのは、どういう場合ですか。
WebLogicドメインの作成、構成、および管理には、WLST、コマンドライン・ユーティリティ、およびWebLogic Server管理コンソールを互換的に使用できます。どの方法を選択するかは、グラフィカル・インタフェースとコマンドライン・インタフェースのどちらを使用するか、およびスクリプトを使ってタスクを自動化できるかどうかによって決まります。
WLSTオンラインとWLSTオフラインの違いは何ですか。
WLSTは、オンライン (実行中の管理サーバーまたは管理対象サーバーのインスタンスに接続された状態)でも、オフライン (実行中のサーバーに接続されていない状態)でも使用できます。
WLSTオンラインは、アクティブなWebLogicドメインと対話し、JMXで管理されるWebLogic Server Javaオブジェクトである、管理対象Bean (MBean)への簡単なアクセスを提供します。オンラインのWLSTでは、構成の内部表現の一部として永続化される情報にアクセスできます。
WLSTオフラインでは、実行中のWebLogic Serverに接続しないで、構成ウィザードと同じ機能をサポートしながら、新しいWebLogicドメインを作成したり、既存のWebLogicドメインを更新したりできます。オフラインのWLSTでは、config
ディレクトリ内で永続化される情報にのみアクセスできます。
Jythonのサポート
WLSTはJythonをサポートしています。
WLSTで使用されているJythonのバージョンは何ですか。
WLSTスクリプト環境は、Javaのスクリプト・インタプリタである、Jython 2.2.1に基づいています。
WLST内から通常のJythonスクリプトを実行できますか。
はい。WebLogic Serverの開発者および管理者は、Jython言語構文に従って、環境上の要件を満たすようWebLogicスクリプト言語を拡張できます。http://www.jython.org
を参照してください。
WLSTの使用
WLSTの使用に関する一般的な質問が扱われます。
サーバーでSSLポートまたは管理ポートが有効化されている場合、どうやってWLSTで接続すればいいでしょうか。
デモ用のSSLキーおよび証明書を使用しているサーバーのSSLリスン・ポートからWebLogic Serverインスタンスに接続するには、次のコマンドでWLSTを呼び出します。
java -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=DemoTrust weblogic.WLST
それ以外の場合は、コマンド・プロンプトで次のコマンドを入力します。
java weblogic.WLST
エラーが発生した場合に、WLSTを続行させるか終了させるかを制御できますか。
はい。exitonerror
変数で制御できます。WLSTでエラーが発生した場合に実行を終了するよう指定するには、この変数をtrue
に、実行を続行するよう指定するにはfalse
に設定します。この変数のデフォルトはtrue
です。『WebLogic Server WLSTコマンド・リファレンス』のWLST変数リファレンスに関する項を参照してください。
各コマンドの後に(および)を指定し、引数を一重引用符または二重引用符で囲まなければならないのはなぜですか。
これは、正規のJython構文です。http://www.jython.org
を参照してください。
WLSTを使用して、サーバーを起動し、アプリケーションをデプロイし、その後サーバーを停止することはできますか。
はい。次のWLSTコマンド・グループの説明を参照してください。
-
WebLogic Server WLSTコマンド・リファレンスのライフサイクル・コマンド
-
WebLogic Server WLSTコマンド・リファレンスのデプロイメント・コマンド
WLSTは管理対象サーバーに接続できますか。
はい。管理対象サーバーには、connect
コマンドを使用して接続できます。管理対象サーバーに接続した状態で、サーバーの実行時データを参照したり、現在の認証プロバイダのデータ・ストアにあるセキュリティ・データを管理(たとえば、ユーザーを追加および削除)することができます。WebLogicドメインの構成は変更できません。『WebLogic Server WLSTコマンド・リファレンス』のconnectに関する項を参照してください。
WLSTで、プロパティ・ファイルに定義した変数を使用できますか。
はい。loadProperties
コマンドを使用すれば、変数および値をプロパティ・ファイルからロードできます。スクリプト内で変数を使用すると、それらの変数はプロパティ・ファイルからの実際の値に置き換えられます。WebLogic Server WLSTコマンド・リファレンスのloadPropertiesを参照してください。
configToScript
コマンドは、config.xml内のセキュリティMBeanを変換しますか。
はい。セキュリティMBeanは変換されます。ただし、組込みLDAPの情報は変換されません。
WebLogic MBeanServerに登録されているカスタムMBeanにはどうすればアクセスできますか。
実行時MBeanサーバー上のカスタムMBeanツリーにナビゲートするには、custom
コマンドを使用します。ドメイン実行時MBeanサーバー上のカスタムMBeanツリーにナビゲートするには、domainCustom
コマンドを使用します。『WebLogic Server WLSTコマンド・リファレンス』のツリー・コマンドに関する項を参照してください。
MBeanServerに登録されているMBeanがすべて表示されないのはなぜですか。
内部MBeanやドキュメントに記載されていないMBeanで、WLSTに表示されないものがあります。
WLSTオフラインでは、WLSTオンラインと同じMBeanが表示されないのはなぜですか。
WebLogic Serverのデフォルト値のほとんどは、パフォーマンスを最適化するため、WebLogicドメインの構成ファイルには保持されていません。この最適化が原因で、WLSTオフラインでは管理オブジェクト全体を表示できない場合があります(WebLogic Serverでは対応するXML要素をWebLogicドメインの構成ファイルに書き込んでいないため)。たとえば、ドメインがアクティブであるときにWebLogicドメインのロギングのデフォルト重大度を変更しなかった場合、WLSTオフラインではドメインのLog
管理オブジェクトは表示されません。
WLSTオフラインで表示されない管理オブジェクトの属性のデフォルト値を変更する場合、最初にcreate
コマンドを使用して管理オブジェクトを作成する必要があります。次に、cd
を使用して管理オブジェクトに移動し、属性値を変更します。WebLogic Server WLSTコマンド・リファレンスのcreateを参照してください。
カスタムMBeanを参照しているときに、No stub Available
というエラー・メッセージが表示されるのはなぜですか。
カスタムMBeanを参照中は、cmo
変数を使用できません。
HTTPでWebLogic Serverインスタンスに接続することはできますか。
HTTPでWebLogic Serverインスタンスに接続している場合は、そのWebLogic ServerインスタンスのTunnelingEnabled
属性がtrue
に設定されていることを確認してください。『Oracle WebLogic Server MBeanリファレンス』のTunnelingEnabledに関する項を参照してください。
AntでWLSTを呼び出すことはできますか。
はい。Antスクリプト内で新しくweblogic.WLST
プロセスを生成し、スクリプト・ファイルを引数として渡すことができます。
WLSTスクリプトはサーバー側で実行できますか。
はい。Javaコード内でWLSTインタプリタのインスタンスを作成し、それを使ってWLSTコマンドおよびスクリプトを実行できます。その後、それらがサーバー側で実行されるよう、WLSTスクリプトを起動クラスまたはejbCreate
の一部として呼び出せます。「組込みモード」を参照してください。
WLSTはカスタマイズできますか。
はい。WLSTホーム・ディレクトリを更新して、カスタムWLSTコマンド、ライブラリ内のWLSTコマンド、およびJythonモジュールとしてのWLSTコマンドを定義できます。詳細については、「WLSTのカスタマイズ」を参照してください。
カスタムWLSTコマンドを実行するにはどうすればよいですか。
カスタムWLSTコマンドは、WebLogic Server WLSTコマンドと同様の方法で実行します。.py
ファイルにカスタム・コマンドを定義すれば、WLSTコマンド・ラインおよびスクリプト内から利用できるようになります。
カスタムWLSTコマンドを含むFusion Middleware (FMW)コンポーネントをインストールした場合も、同様に、WLSTコマンド・ラインおよびスクリプト内からそのコマンドを使用できるようになります。
カスタムWLSTコマンドのドキュメントへのポインタは、WebLogic Server WLSTコマンド・リファレンスの関連ドキュメントを参照してください。
これらのコマンドは、WLSTコマンドラインでコマンドhelp()
、help('
commandGroup
')
、およびhelp('
commandName
')
を入力することでそれぞれのヘルプを表示できます。
モジュール性を確保するためのwlstModule
のインポート
wlstModule
をWLSTスクリプトにインポートすると、スクリプトをエラーなしで直接実行したりインポートしたりできます。
WLSTには、WLSTスクリプトがWebLogic Server MBeanサーバーの操作に使用する一連の関数とグローバル変数が用意されています。基本的なスクリプトおよびコマンドラインではこれらの関数を直接使用できますが、WLSTスクリプトでこの方法を使用すると、モジュール性が低下します。
たとえば、データ・センターの運用スタッフが、管理者資格証明を必要とするWebLogic Server管理機能に直接アクセスすることは許可されていないが、かわりに提供されているWLSTスクリプトの使用が必要になる場合があります。また、WLSTスクリプトの開発者が、管理者資格証明を取得して本番の管理サーバーに接続するセキュアな方法を考案した場合も考えられます。次に例を示します。
adminUrl = sys.argv[1] wlUser = ... # secure retrieval of admin user wlPassword = ... # secure retrieval of admin password connect(wlUser, wlPassword, adminUrl)
これが機能するのは、テスト・スクリプトに直接埋め込んだ場合です。ここで、このコードを、他のスクリプトがコピーするのではなく使用する独自のWLST PY関数に取り出します。Jythonでこれを実現するには、他のスクリプトがインポートするPYファイルに関数を作成する必要があります。最初のステップとして、次の例に示すように、これをテスト・スクリプト内の関数に移動します。
def wlsConnect(adminUrl): wlUser = ... # secure retrieval of admin user wlPassword = ... # secure retrieval of admin password connect(wlUser, wlPassword, adminUrl)
次のステップとして、他のスクリプトにインポートできる独自のPYファイルに関数などを移動します。たとえば、wlsAdminUtils.py
ファイルを作成し、このファイルに関数を追加します。次に、サーバーへの管理接続を必要とするすべてのスクリプトでこれを実行できます。
import wlsAdminUtils ... wlAdminUrl = sys.argv[1] wlsConnect(wlAdminUrl) ...
ただし、新しいスクリプトを実行しようとすると、wlsAdminUtils.py-defined wlsConnect
関数でWLST connect()関数のコールを指すエラーJython NameError: connect
が発生します。これは、インポートが原因で、コードが別のコンテキストで実行されるようになったためです。関数を修正して任意のコンテキストで実行できるようにするには、wlstModule
をインポートし、これを使用してWLST関数の名前を修飾する必要があります。次に例を示します。
import wlstModule as wlst def wlsConnect(adminUrl): wlUser = ... # secure retrieval of admin user wlPassword = ... # secure retrieval of admin password wlst.connect(wlUser, wlPassword, adminUrl)
これにより、WLSTスクリプトをエラーなしで直接実行したりインポートしたりできるようになります。