Mule 3.5のセットアップとサンプルの実行
会社の方で公式ドキュメントして書くのだけど、ひとまずこちらに書いてみます。
目標は、取りあえずインストールして、実行してみるところまで。
インストール
使用可能な環境はここでチェック。OSはMuleがサポートしているJDKがサポートしていればOKっぽい。
http://www.mulesoft.org/documentation/display/current/Hardware+and+Software+Requirements
どんな構成にするか
デプロイモードを選択する。
http://www.mulesoft.org/documentation/display/current/Deployment+Scenarios
ここでいうデプロイメントとは、Mule自体の配置のこと。Mule上で動作するモジュールのデプロイメントではない。
MuleはAPサーバー上でも動かすことができるけど、基本はスタンドアローンでOK。
Mule Management Consoleって使うの?
http://www.mulesoft.org/documentation/display/current/Mule+Management+Console
いろいろな管理機能が提供される。Enterprise Editionが必要。
インストールの手順はこれの「Mule Community Runtime」のタブに従ってやればOK。基本、スタンドアローン構成ならZipを解凍するだけ。
http://www.mulesoft.org/documentation/display/current/Downloading+and+Launching+Mule+ESB+-+hid
export JAVA_HOME=/usr/java/jdk1.7.0_60/
- Muleセットアップ 解凍するだけ。まじ簡単。
bin/muleを実行で起動。終了するときはCtlr+C。
起動停止
$MULE_HOME\bin\mule.bat start|stop
起動オプションなんかは下記にまとまっている。
http://www.mulesoft.org/documentation/display/current/Starting+and+Stopping+Mule+ESB
自分で作ったモジュールを動かしてみよう
Anypont Studioを入れるとSampleが一緒に付いてくるから、それを実行してみましょう。
スタートページのOpen Sampleでサンプルの一覧が見られる。
まあ、最初はHelloWorldだろうと。
フロー定義の見た目はこんな感じ。 HTTPでリッスンして、文字列を返すだけのフロー。
取りあえず試すだけなら、Anypont Studioの中に埋め込みMuleが入っているのでプロジェクトを右クリックして、「Run AS-> Mule Application」でOK。
サーバー上のMuleへのデプロイは上記のURLの「Deploy on a Mule Enterprise Server」の通りにやればOK。
Anypont StudioでExportする
Muleへのデプロイ
Mule HOMEのappsフォルダにzipを置くだけ。 Muleがポーリングをしていて、しばらくするとzipが解凍されます。
[sogo@localhost mule-standalone-3.5.0]$ cd apps/
[sogo@localhost apps]$ ls
default default-anchor.txt
appsフォルダにエクスポートしたhello-world.zipを置くと・・・・
[sogo@localhost apps]$ cp ~/hello-world.zip .
[sogo@localhost apps]$ ls
default default-anchor.txt hello-world.zip
しばらくするとzipが展開されてデプロイされている。
[sogo@localhost apps]$ ls
default default-anchor.txt hello-world hello-world-anchor.txt
Muleのデプロイログ
同じタイミングでMule側のログには、サンプルアプリが置かれたことを検知して、インストールして起動した旨のログがでます。
INFO 2014-06-26 21:26:12,950 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.ArtifactArchiveInstaller: Exploding a Mule artifact archive: file:/home/sogo/mule/mule-standalone-3.5.0/apps/hello-world.zip
INFO 2014-06-26 21:26:13,008 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.application.DefaultMuleApplication:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ New app 'hello-world' +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO 2014-06-26 21:26:13,009 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.log4j.ArtifactAwareRepositorySelector: Found logging config for application 'hello-world' at 'file:/home/sogo/mule/mule-standalone-3.5.0/conf/log4j.properties'
INFO 2014-06-26 21:26:15,796 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.MuleDeploymentService:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Started app 'hello-world' +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
いやー簡単ですね。