Mule の起動と停止

Mule Runtime Engine を起動および停止して Mule アプリケーションをデプロイする方法を説明します。管理機能および監視機能を最大限に活用するために、Anypoint Runtime Manager を使用して同じ Mule インスタンスにデプロイできます。

Mule は Java サービスラッパーを使用してネイティブ OS から Java 仮想マシン (JVM) を制御します。ラッパーには Mule を Unix デーモンとして実行する機能や Mule を Windows サービスとしてインストールまたは削除する機能を含めて、多くのオプションと機能があります。ラッパーはシステムシグナルを処理してパラメーターを開始するため、全体的に JVM と基礎となる OS 間のインタラクションが大幅に向上します。

スクリプトの起動とシャットダウン

ラッパーは ​$MULE_HOME/bin​ のスクリプトによってコールされます。

次の表に、スクリプトが受け入れるすべてのパラメーターを示します。

パラメーター 説明

start

ターミナルのバックグラウンドで Mule を起動します。

stop

Mule を停止します。インバウンドエンドポイントは Mule がシャットダウンする前にインフライトメッセージを処理します。ただし、タイムアウト期間後に、完了していないインフライトメッセージが破棄され、Mule がシャットダウンします。

restart

Mule を再起動します。

status

(Linux/Unix のみ)​。Mule サーバー (​running​ または ​not running​) および実行している場合はプロセスの PID の状況を表示します。

dump

(Linux/Unix のみ)​。Mule ラッパーのコアを ​$MULE_HOME/log/mule_ee.log​ にダンプします。

console

ターミナルのフォアグラウンドで Mule を起動します (コンソールモード)。パラメーターを指定せずに ​mule​ を実行するのと同じです。

install

Mule を Windows サービスまたは Linux/Unix デーモンとしてインストールします。

remove

Mule を Windows サービスまたは Linux/Unix デーモンから削除します。

Mule の起動

Mule ソフトウェア配布物を展開した場所にディレクトリを変更してから bin ディレクトリに変更して、コマンドラインから Mule を起動します。次のコマンドを実行します。

  • Windows 環境:

    $ $MULE_HOME\bin\mule.bat
  • Linux/Unix 環境:

    $ $MULE_HOME/bin/mule

これらのコマンドは、Mule をフォアグラウンドで実行し、起動スクリプトによってターミナルの標準出力に情報が表示されます。Mule の動作中は、他のコマンドを実行することはできません。

Mule を停止するには、スクリプトが動作しているターミナルで ​CTRL-C​ を押します。

Windows サービスとしての Mule の起動

Windows サービスとして Mule を実行するには、まず次のように実行して Mule をインストールします。

$ $MULE_HOME\bin\mule.bat install

インストール後、Mule をサービスとして実行することができます。

$ $MULE_HOME\bin\mule.bat start

Windows が再起動すると、​mule stop​ コマンドを使用した場合と同じように Mule サービスが停止します。 唯一異なる状況は、Windows がタイムアウトによってプロセスをキルした場合です。

インストール後のプロパティの wrapper.conf ファイルへの追加

Mule を Windows サービスとしてインストールした後で、​wrapper.additional.conf​ ファイルで新しいプロパティを宣言することで ​wrapper.conf​ ファイルのプロパティを上書きできます。

使用している Mule エディションによって動作が異なります。

  • Mule Community Edition

    1. 新しいプロパティを追加したら、Windows サービスを再インストールまたは再起動します。

    2. プロパティを追加し、そのインデックスが ​wrapper-additional.conf​ ファイルの最大インデックスより大きいことを確認します。そうでなければ、プロパティは上書きされません。

      たとえば、​wrapper-additional.conf​ に次のプロパティがあるとします。

      wrapper.java.additional.n=-Dproperty=value

      n​ が最大のインデックスであれば、​wrapper.conf​ ファイルにはインデックスを増やしてプロパティを追加する必要があります。

      wrapper.java.additional.n+1=-DyourProperty=valueOfYourProperty

  • Mule Enterprise Edition

    1. デフォルトでは、Mule をサービスとしてインストールした後で 20 個のプロパティを追加できます。

    2. サービスをインストールする際に、次のコマンドライン引数を使用して、必要な追加プロパティを設定します。

      -additionalJavaProperties=numberOfExtraProperties

Linux/Unix デーモンとしての Mule の起動

Mule を Linux/Unix デーモンとして実行するには、まず次のように実行して Mule をインストールします。

$ $MULE_HOME/bin/mule install

インストール後、Mule をデーモンとして実行することができます。

$ $MULE_HOME/bin/mule start

また、インストールせずに Mule を実行することもできます。この場合は、現在のユーザーセッションのバックグラウンドとして Mule が起動します。

次の例では、Mule を Unix コンソールから起動しています。

$ $MULE_HOME/bin/mule start
MULE_HOME is set to ~/Downloads/mule-enterprise-standalone-4.3.0
MULE_BASE is set to ~/Downloads/mule-enterprise-standalone-4.3.0
Starting Mule Enterprise Edition...
Waiting for Mule Enterprise Edition.................
running: PID:87318

スクリプトからの Mule の起動

Java サービスラッパーを使用せずに Mule をスクリプトまたは IDE から起動するために、​org.mule.MuleServer​ クラスを使用できます。このクラスはいくつかのパラメーターを受け入れます。

org.mule.MuleServer -config mule-config.xml

または

org.mule.MuleServer -builder <fully qualified classname> -config appContext.xml
  • -config​ は使用する 1 つ以上の設定ファイルを指定します。この引数を省略した場合、​mule-config.xml​ が存在する場合はこれを探して使用します。

  • -builder​ は使用する設定ビルダーの完全修飾されたクラス名です。この引数を設定しなかった場合、デフォルトの ​org.mule.config.builders.AutoConfigurationBuilder​ が使用され、使用可能なビルダーに基づいて設定ファイルの自動検出を試みます。最も一般的なシナリオでは、これは ​org.mule.config.spring.SpringXmlConfigurationBuilder​ に解決されます。

クラスパスを設定する最も簡単な方法は、配布の ​./lib/mule​ ディレクトリと ​./lib/opt​ ディレクトリにすべての JAR を含めることです。サーバーと各モジュールの連動関係レポートを確認して、どの JAR が特定のモジュールに必要かを正確に把握できます。

Mule アプリケーションのデプロイ

  1. Mule を起動します。

  2. Mule が起動したら、パッケージ化された JAR ファイルを ​$MULE_HOME​ の下にある ​apps​ ディレクトリに移動することで、Mule アプリケーションをデプロイできます。

Mule の停止

Mule を停止するには ​stop​ コマンドを実行します。

次の例では、Mule を Unix コンソールから停止しています。

$ $MULE_HOME/bin/mule stop
MULE_HOME is set to /Applications/mule-enterprise-standalone-4.3.0
MULE_BASE is set to /Applications/mule-enterprise-standalone-4.3.0
Stopping Mule Enterprise Edition...
Stopped Mule Enterprise Edition.

Mule サービスまたはデーモンの削除

システムからサービスまたはデーモンを削除するには、​remove​ コマンドを実行します。

次の例では、Mule デーモンを Unix コンソールから削除しています。

$ $MULE_HOME/bin/mule remove
MULE_HOME is set to /Applications/mule-enterprise-standalone-4.3.0
MULE_BASE is set to /Applications/mule-enterprise-standalone-4.3.0
Detected Mac OSX:
Mule Enterprise Edition is not running.
Removing Mule Enterprise Edition daemon...

Anypoint Monitoring の有効化

必要に応じて、オンプレミスランタイムのクラウド管理対応バージョン用の ​Anypoint Monitoring をインストール​して、サーバー上で動作するアプリケーションを監視できます。