動的更新の制御

構成を介して制御できる動的更新には、サーバー構成の変更、アプリケーションの追加と削除、インストール済みアプリケーションの更新の 3 つのタイプがあります。 すべてのデプロイ済みアプリケーションについて、アプリケーション・モニターを有効にするかどうか、およびアプリケーションに対する更新のチェック頻度を構成することができます。 dropins ディレクトリーの場合は、ディレクトリーの名前と場所を構成し、ディレクトリー内にあるアプリケーションをデプロイするかどうかを選択することもできます。

このタスクについて

デフォルトでは、デプロイ済みのアプリケーションで更新の有無がモニターされ、更新内容が実行中のアプリケーションに動的に適用されます。 これは、構成エントリーによってデプロイされるアプリケーションと、 dropins ディレクトリーからデプロイされるアプリケーションの両方に適用されます。 これらのデフォルトの動作を変更するには、 server.xml 構成ファイルで config エレメントと applicationMonitor エレメントを設定します。 この操作は、テキスト・エディターを使用して行うことができますが、開発者ツールを使用してサーバー構成設計ビューで「構成管理サービス」または「アプリケーション・モニター」を選択して行うこともできます。

Enterprise JavaBeans Lite 3.1Liberty KernelJava Servlets 3.0、および OSGi Blueprintconfig エレメントおよび applicationMonitor エレメントの説明も参照してください。

アプリケーション・モニターのデフォルト設定は以下のとおりです。
<applicationMonitor updateTrigger="polled" pollingRate="500ms" 
                    dropins="dropins" dropinsEnabled="true"/>
構成モニターのデフォルト設定は以下のとおりです。
<config updateTrigger="polled" monitorInterval="500ms"/>
注:
  • updateTrigger プロパティーには以下の 3 つの値を指定できます。
    polled
    ランタイム環境は、 monitorInterval プロパティーで指定されたタイミング・インターバルを使用して、変更がないか server.xml ファイルをスキャンします。
    mbean
    ランタイム環境が更新を検索するのは、MBean の呼び出しによって更新を求めるプロンプトが出された場合のみです。 このモードは、オーバーライドしない限り、開発者ツールによって server.xml ファイルを更新するために使用されます。 提供されている FileNotificationMBean MBean を呼び出して、アプリケーションの更新をトリガーすることができます。
    disabled
    更新は動的に適用されません。
  • pollingRate プロパティーまたは monitorInterval プロパティーを指定する際には、数字の後に以下の時間単位を含めてください。
    • ms (ミリ秒)
    • s (秒)
    • m (分)
    • h (時間)
  • dropins プロパティーは、 dropins ディレクトリーとして使用されるディレクトリーの名前を指定します。
  • dropinsEnabled プロパティーは、 dropins ディレクトリー内のアプリケーションをデプロイするかどうかを決定するブール・プロパティーです。

手順

  • サーバー構成に動的変更を構成します。
    server.xml ファイル、またはそのファイルに含まれるあらゆるファイルへの変更は、ランタイム環境によって検出され、アクティブ構成に適用されます。 server.xml ファイルで config エレメントを設定することにより、この動作を無効にすることができます。
    <config updateTrigger="disabled"/>

    また、以下のように server.xml ファイルで config エレメントを設定することで、 提供された mbean によりサーバー構成への動的更新を制御することも可能です。

    <config updateTrigger="mbean"/>

    その後、FileNotificationMbean を使用して、動的に再処理する構成ファイルをサーバーに通知することができます。

  • アプリケーションの動的追加および動的削除を構成します。
    Libertyでのアプリケーションのデプロイ」で説明されているように、以下の 2 つのメカニズムを使用して、サーバー・ランタイム環境にアプリケーションを動的に追加したり、サーバー・ランタイム環境からアプリケーションを削除したりすることができます。
    • server.xml ファイルにアプリケーション・エントリーを追加または削除します。

      前のステップの説明に従ってサーバー構成への動的変更を無効にした場合、アプリケーション・エントリーの追加または削除を行っても、実行中のサーバーには影響しません。 変更は、次回のサーバーの再始動時のみに適用されます。 開発者ツールを使用してアプリケーション・エントリーを更新した場合、変更は直ちに適用されます。

    • アプリケーション・ファイルを dropins ディレクトリーとの間で移動する。
      この動作は、 server.xml ファイルで applicationMonitor エレメントを設定することによって制御できます。 例えば、 dropins ロケーションからアプリケーションの動的インストールを無効にするには、以下のようにエントリーを作成します。
      <applicationMonitor dropinsEnabled="false"/>
  • インストール済みアプリケーションへの動的更新を構成します。
    デフォルトでは、デプロイ済みアプリケーション内で任意のファイルを追加、削除、または変更した場合、あるいは、アプリケーション全体を更新バージョンに置き換えた場合は、前のバージョンが自動的に停止し、新規バージョンが始動します。 このプロセスは、アプリケーションが dropins ディレクトリー内にあるか、 server.xml ファイルで定義されている場所にあるかにかかわらず、デプロイされたアプリケーションに適用されます。 この動作を制御するには、 server.xml ファイルで applicationMonitor エレメントを設定します。 例えば、すべてのアプリケーションの動的更新を無効にするには、以下のエントリーを作成します。
    <applicationMonitor updateTrigger="disabled"/>
  • dropins ディレクトリーの名前と場所を構成します。
    デフォルトでは、 dropins ディレクトリーは ${server.config.dir}/dropinsです。 この値を変更するには、 server.xml ファイルで applicationMonitor エレメントを設定します。 ロケーションについては、任意の既知の変数、bootstrap.properties ファイルのプロパティー、絶対パス、サーバー・ディレクトリーに対する相対パスなどを使用できます。 例えば、以下の設定値は同じロケーションを指します。
    <applicationMonitor dropins="${server.config.dir}/applications" />
    <applicationMonitor dropins="applications" />
    制約事項: Web サービス・アプリケーションの場合、サービス・クライアントとサービス・プロバイダーが同じアプリケーション内になく、サービス・プロバイダー・アプリケーション内の WSDL ファイルが変更された場合は、WSDL 定義キャッシュの問題を回避するために、Web サービス・クライアント・アプリケーションを手動で再始動する必要があります。