JBossAS5でのtransactionTimeout設定
jboss-5.1.0.GA\server\設定セット名\deploy\transaction-jboss-beans.xmlの以下のプロパティで設定します。単位は秒。
300
似たようなプロパティとして
jboss-5.1.0.GA\server\設定セット名\conf\jbossts-properties.xmlに、以下のようなプロパティがあります。
txReaperTimeoutは単位ミリ秒。トランザクションのタイムアウトと違い、TransactionReaper自体のスリープ時間の定義です。なのでデフォルト120秒とトランザクションタイムアウトのデフォルト値(300秒)より短い設定になっています。
同一サーバ・同一IPで複数インスタンスのJBossASを起動する際の設定
まず、同一サーバで複数のJBossASインスタンスを起動する場合、サーバ設定セットをそれぞれ別に作る必要があります。
同一サーバでも複数IPアドレスを割り当てられるなら、バインドするIPアドレスをrun.sh -c <サーバ設定セット名> -b
IPアドレスを複数使わない場合、ポートを変えることになります。
conf/bootstrap/bindings.xmlの、ServiceBindingManagerのコンストラクタパラメータを
から
ports-01
に変更すると、各サービスのポート番号が全てデフォルトの番号+100になります。ports-02なら+200で、たしかports-04まで使用可能。
ファイルを書き換えなくても、run.shの引数として「-Djboss.service.binding.set=ports-01」という風に指定する方法も。こっちの方が簡単ですね。
同一サーバで複数インスタンスのJBossASを起動した際の終了方法
同一サーバで複数インスタンスを起動した場合、shutdown.sh -Sでは上手く終了してくれなくなります。(デフォルトでは localhost:1099で止めにいきますからね。)
同一サーバでも複数IPアドレスを割り当ててバインドするIPアドレスを変えた場合、以下のようにIPアドレスを指定します。
shutdown.sh --server=
起動時にports-01を指定するなど、ポート番号を変更している場合、下記のように指定します。
shutdown.sh --server=jnp://
: /
ports-01なら+100なので「shutdown.sh --server=jnp://127.0.0.1:1199/」となります。
tomcat6のserver.xmlのAJP用Connector設定のデフォルト値
(JBossASの場合はdeploy/jbossweb.sar/server.xml)
忘れると何かでハマりそうなのでメモっときます。
emptySessionPath | デフォルトはfalse(trueにするとsession cookieのパスが「/」になる。portlet のように複数アプリケーションをデプロイしてsessionを共用したい時に必要) |
maxPostSize | POSTで送信する最大サイズ。デフォルトは2097152 (2MB)。無制限にしたい場合0を設定する |
maxSavePostSize | FORM認証・クライアント認証でのPOSTで送信する最大サイズ。デフォルトは4096 (4 KB)。-1にすると無制限に、0にすると認証中のPOSTデータ保存を無効に。 |
backlog | 接続リクエスト用キューの最大サイズ。デフォルトは |
bufferSize | 出力用のバッファサイズ。デフォルトは-1(バッファリングはデフォルトでは無効) |
connectionTimeout | 接続後のタイムアウト時間。単位はミリ秒(デフォルトでは無限) |
keepAliveTimeout | 他のAJP接続を待つ時間。デフォルトではconnectionTimeoutの設定を使用。ということは無限。 |
maxThreads | デフォルトは200。executorを指定した場合は無効 |
packetSize | 最大値は65536。デフォルトは8192。mod_jkを使う場合、mod_jk側のmax_packet_size設定と同じ値にすること |
tomcatAuthentication | デフォルトはtrue。falseに設定するとwwwサーバ側の認証情報をtomcatで取得できる |
※backlogのデフォルト値が間違ってたので修正しました。