ブラウザからSMART deploy/env.txtの内容を確認できる
S2.3/S2.4共に、S2Containerに登録されているコンポーネントの一覧を表示する機能があります。
これを利用すると、ブラウザからSMART deploy/env.txtの設定値を確認できます。
以下の手順で確認できます。
-
- web.xmlのS2ContainerServletの定義で、debugパラメータをtrueとする
- http://localhost:8080/xxxx/s2servlet?command=listにアクセスする(Teedaの場合は、teedaServletとなります)
便利な機能なのですが、web.xmlは切り替えることができないのが残念。debugパラメータをtrueとするのは、やはりデバッグ時のみですよね・・・。
やはり、ログに出力されるとうれしい。
起動ログで、SMART deploy/env.txtの内容が出力されるとうれしい
S2.4から導入さてたSMART deployでは、HOT/COOL/WARMという3種類のデプロイ方法があります。
これらは、env.txtという設定ファイルに環境変数を指定することで、簡単に切り替えて実行することが可能になっています。
また、env.txtは、SMART deployのためだけでなく、環境の違いによりdiconを切り替えて使いたい場合にも利用できます。そのため、環境変数の設定ミス等による、実行時の失敗手間をかなりの確率で低減できます。
個人の開発環境と、結合/総合テストの実行環境、運用環境で設定値が異なる、というのは一般的ですが、これまでは、定義ファイルを切り替えるために、バッチやシェルなどを作成することが多かったのではないでしょうか?
env.txtでut/itなどと指定しておき、それに合わせたdiconファイルを用意しておけば、後は、env.txtの内容を書き換えるだけで、環境に合わせた設定で起動できるようになります。
ただ、ウッカリ思っていた環境変数と違う値を指定していた、なんてこともあると思います。
-
- env.txtの値を書き換えるのを忘れていた
- jar/warファイルに、env.txtが誤って含まれていた
そんなとき、起動(S2Containerの初期化)ログに、
-
- SMART deployがHOT/COOL/WARMのどのモードで起動されたか?
- env.txtの設定値は何か?
という内容が出力されていると、問題切り分けが容易になると思います。
ログレベルをDEBUGにしておくと、コンポーネント登録時のログである程度分かるのですが、テストのときなどを考えると、INFOあたりでログが出力されるとうれしい。
間違えるケースは少ないと思っていたんですが、S2を使い始めたばかりの人にとっては、ハマりやすいところだと思います。