アーカイブ

Archive for 2011年11月

JBoss AS 7 Admin Guide – High Availability Guide – Apache httpd

Apache httpd

フロントエンドモジュールとしては mod_cluster が推奨されますが、 mod_jk もしくは mod_proxy の使用も可能です。

AJP プロトコルを使用するためには socket-binding 要素を使用して AJP プロトコルをリスンするソケットを定義し、 web サブシステム( subsystem=web )にそのソケットを使用するコネクタを追加定義して下さい。

以下は web サブシステムの定義です。 AJP プロトコル用の ajp コネクタが定義され ajp という名前のソケットバインディングを参照しています。

<subsystem xmlns=”urn:jboss:domain:web:1.0“>
            <connector name=”http” protocol=”HTTP/1.1″ socket-binding=”http”/>
            <connector name=”ajp” protocol=”AJP/1.3″ socket-binding=”ajp“/>
            …
</subsystem>

以下はソケットバインディングの定義です。 ajp は 8009 ポートを使用します。下記のソケットバインディングは指定がないかぎり public インターフェースで指定されたネットワークインターフェース(IP, NIC)にバインドされます。

<socket-binding-group name=”standard-sockets” default-interface=”public“>

….

          <socket-binding name=”http” port=”8080″/>

          <socket-binding name=”ajp” port=”8009″/>

          <socket-binding name=”https” port=”8443″/>

</socket-binding-group>

広告
タグ: ,

JBoss AS 7 Admin Guide – Management tasks – Subsystem configuration – Deployment Scanner configuration

今回はデプロイメントスキャナのお話です。デプロイメントスキャナとは何か?。。。デプロイディレクトリをスキャン(デフォルトだと 5 秒間隔)し jar, war, ear 等のファイルあるいはディレクトリが存在したらデプロイしてくれるサービスです。

この開発時は非常に便利なデプロイメントスキャナですが、頻繁にデプロイを行わないあるいはデプロイのタイミングを制御する手順のあるプロダクション環境だと邪魔だったりスキャンインターバルを変更したくなります。

AS7 ではデプロイメントスキャナがサブシステム( /subsystem=deployment-scanner )として提供されています。なので、 server 設定ファイルである standalone.xml 中にデプロイメントスキャナが宣言されており、設定変更もその部分で行います。もちろん CLI を使った動的な設定変更も可能です。

重要な点として、domain.xml にはデプロイメントスキャナは含まれていません。なぜなら domain モードではファイルシステムを使用した(デプロイディレクトリにデプロイしたいファイル/ディレクトリを配置することで行うデプロイ)がサポートされないのでデプロイメントスキャナも domain モードでは動いていません。

それではマニュアルを読んでみましょう!

Deployment Scanner configuration

デプロイメントスキャナは standalone モードのみで使用されます。

デプロイメントスキャナの仕事はデプロイメントディレクトリに新たなデプロイ対象ファイルがあるかをスキャンしデプロイ対象ファイルがある場合はそれをデプロイします。
デプロイメントスキャナは standalone[-XXX].xml 中に以下の形式で設定されます。

<subsystem xmlns=”urn:jboss:domain:deployment-scanner:1.0“>
<deployment-scanner scan-interval=”5000” relative-to=”jboss.server.base.dir” path=”deployments” />
</subsystem>

より多くのデプロイメントディレクトリをスキャンするために <deployment-scanner /> 要素を追加することも可能です。上記の設定例は $JBOSS_HOME/standalone/deployments ディレクトリを 5 秒間隔でスキャンすることを表しています。

上記のデプロイメントスキャナ設定について CLI を使用して実行時の設定照会を行った例は以下の通りです。XML において明示的に指定していない <deployment-scanner /> 要素の属性のデフォルト値を照会することが可能です。

[standalone@localhost:9999 /] /subsystem=deployment-scanner:read-resource(recursive=true)
{
     “outcome” => “success”,
     “result” => {“scanner” => {“default” => {
         “auto-deploy-exploded” => false,
         “auto-deploy-zipped” => true,
         “deployment-timeout” => 60L,
         “name” => “default”,
         “path” => “deployments”,
         “relative-to” => “jboss.server.base.dir”,
         “scan-enabled” => true,
         “scan-interval” => 5000
     }}}
}

<deployment-scanner /> 要素の属性は以下の通りです。

Name Type Description
name STRING スキャナ名です。指定しない場合 “default” が適用されます。
path STRING スキャンするパスを指定します。’relative-to’ 属性が指定されない限り絶対パスとして扱われ、指定された場合は ‘relative-to’ からの相対パスとして扱われます。
relative-to STRING ‘path’ 属性で指定された値が相対パスとして参照するファイルパスまはた起動時のシステムプロパティを指定します。上記の例では システムプロパティ “jboss.server.base.dir” が指定され $JBOSS_HOME/standalone として解決されます。
scan-enabled BOOLEAN スキャンの有効/無効を true/false で指定します。
scan-interval INT スキャンのインターバルをミリ秒で指定します。 1 以下の値を指定した場合起動時のみスキャンが実行されます。
auto-deploy-zipped BOOLEAN zip にアーカイブされたデプロイコンテンツを .dodeploy マーカーファイルの追加無しでデプロイするか否かを true/false で指定します。

※ false に設定した場合 sample.war は sample.war.dodeploy ファイルの作成をトリガーにデプロイ処理が実行されます。

auto-deploy-exploded BOOLEAN zip にアーカイブされたデプロイコンテンツを .dodeploy マーカーファイルの追加無しでデプロイするか否かを true/false で指定します。デプロイコンテンツの修正中にデプロイが発生しないことを保証できないため、同項目を ‘true’ に設定することは通常推奨されません。

※ true に設定した場合、展開デプロイ形式もオートデプロイの対象になります。デフォルトでは展開形式のアプリケーションをデプロイするためには $アプリケーション名.dodeploy ファイルをデプロイディレクトリに配置する必要があります。

deployment-timeout LONG デプロイ処理のタイムアウトを秒単位で指定します。デフォルトは 60 秒です。

デプロイメントスキャナは server の起動前に standalone[-XXX].xml を修正するもしくは server 実行時に CLI を使用して設定を追加/変更/削除することが可能です。

[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=new:add(scan-interval=10000,relative-to=”jboss.server.base.dir”,path=”other-deployments”)
{“outcome” => “success”}
[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=new:remove
{“outcome” => “success”}

server 実行時に CLI を使用してスキャンを無効化する例は以下の通りです。

[standalone@localhost:9999 /] /subsystem=deployment-scanner/scanner=default:write-attribute(name=”scan-enabled”,value=false)
{“outcome” => “success”}
[standalone@localhost:9999 /] /subsystem=deployment-scanne:read-resource(recursive=true)
     “outcome” => “success”,
     “result” => {“scanner” => {“default” => {
         “auto-deploy-exploded” => false,
         “auto-deploy-zipped” => true,
         “deployment-timeout” => 60L,
         “name” => “default”,
         “path” => “deployments”,
         “relative-to” => “jboss.server.base.dir”,
         “scan-enabled” => false,
         “scan-interval” => 5000
     }}}

タグ: ,