平田です。
JBoss EAP 6 ドメインモードでの展開デプロイについて調査しました。
Java EEアプリケーションは、EARやWARなどのアーカイブ形式でデプロイしますが、一部のアプリケーションサーバでは圧縮せずディレクトリのままデプロイでき、これを展開デプロイ(exploded deployment)と呼びます。
展開デプロイでは、アプリケーションの再デプロイ無しにJSPや静的リソースを更新することができます(ビルド、デプロイ後に中身をいじくるのは、構成管理上好ましくないと思いますが)。
JBoss EAP 5までは、deploy/
以下にapp.war/
ディレクトリをコピーすることでデプロイできました。また、JBoss EAP 6のスタンドアロンモードでも、デプロイメントスキャナによりstandalone/deployments/
以下にコピーしたものがデプロイされます。
一方、JBoss EAP 6のドメインモードではデプロイメントスキャナが利用できないため、管理CLI deploy
コマンドの「unmanaged
」オプションを使用します。
[domain@localhost:9999 /] deploy /path/to/app.war --unmanaged --server-groups=your-group
この方法でデプロイすると、domain.xml
は以下のようになります。
<deployment name="app.war" runtime-name="app.war"> <fs-exploded path="/path/to/app.war"/> </deployment>
この設定はドメイン内のスレーブも共有するわけで、/path/to/app.war
は共有ストレージに置くか、各ホストの同一パスに配置して同期をとる必要があります。