kei-zさんによるこちらのエントリー(Flex meets SMARTdeploy)でも触れられていますが、S2Flex2はSeasar2.4のより導入されたSMARTDeployを利用することができるようになっています。
SmartDeployのうちHotDeployはいくつかの設定を追加する必要がありますが
現在リリースしているs2flex2のexample(flex2_example)はHotDeployに必要な設定が組み込まれていません。
しかしながら、Chura用eclipseプラグインであるDolteng(0.17以降)を使ってプロジェクト作成をするとHotDeployを含むSmartDeployに必要なファイル構成/設定がされている状態になります。
ここでS2Flex2を利用したプロジェクトを、手動でHotDeploy対応する方法をメモしておきます。
1.web.xmlの追記
まず最初にweb.xmlにHotDeployに必要なfilterの設定を行います。これは、その他のプロジェクトと同じです。 追加する設定は以下。<filter> <filter-name>hotdeployfilter</filter-name> <filter-class>org.seasar.framework.container.hotdeploy.HotdeployFilter</filter-class> </filter> <filter-mapping> <filter-name>hotdeployfilter</filter-name> <url-pattern>/*</url-pattern>
</filter-mapping>
2. amf3_remoting.diconの変更(1.0.0のみ)
s2flex21.0.0でhotdeployを行うには、amf3_remoting.diconの設定を変更する必要があります。<component class="org.seasar.flex2.rpc.remoting.service.impl.RemotingServiceLocatorImpl" />
上記のコンポーネントを以下に変更する必要があります。
<component
class="org.seasar.flex2.rpc.remoting.service.impl.RemotingServiceLocatorOnHotDeployImpl" />
なお現在リリースされている1.0.1では、上記の対応は必要ありません。
diconファイルを揃える
SmartDeployで必要なdiconファイルを用意します。
- s2container.dicon
- env.txt
- app.dicon
- convention.dicon
- customizer.dicon
- creator.dicon
■S2Flex2用に必要なdiconファイル
s2flex2特有のコンポーネントが設定されています。
amf3.dicon(1.0.0 - 1.0.1)
remoting_amf3.dicon(1.0.0 - 1.0.1)
次期バージョンから上記2つはjarファイルに含まれる予定です。
■S2Daoを利用するときには以下のファイルも必要になります。
- jdbc.dicon
- dao.dicon
以上で、HotDeploy対応にすることができます。
現行リリースしているバージョンは、HotDeployで動作している場合
Sessionデータのimport/exportを利用することができません。
現在SVNにある次期バージョンでは、HotDeploy環境でのSessionデータImport/Exportも利用できるようになります。
SmartDeployに対応したS2Flex2プロジェクトを作成する方法を挙げてみます。
1.Doltengを使ってS2Flex2 + S2Daoプロジェクトを作成する。
2.s2flex2-tutorialを利用して作成する。
3.Web+DB Vol37の補足情報にあるblankプロジェクトを利用する
どれも試したのですがやはり、1が一番手軽にできると思います。
2,3はファイルを入れ替えたり、編集する手数が多いので多少苦労しました。
年頭にSmartDeployに対応した、S2Flex2のBlankプロジェクトを作成してリリースすることも考えたのですがDoltengがS2Flex2に対応したので、必要性を感じなくなってしまいやめてしまいました。ニーズ次第では作成しようと思います。
flex2_exampleについては、1.0.1対応をリリース後、SmartDeploy環境にファイルを整理してリリースする予定です。
でも一番必要なのは、手順をまとめたドキュメントをアップするということでしょうか..orz..。
#Web+DB vol37で使ったs2flex2 1.0.0のblankProjectを元にHotDeploy環境を試しました。
Web+DB vol37補足情報
http://www.gihyo.co.jp/magazines/wdpress/support/Vol37
SMART deploy diconファイル
http://s2container.seasar.org/ja/S2.4SmartDeploy.html#HotDeploySampleDicon
#今日のTODO:
SmartDeploy対応のドキュメントを作成する。
この記事に対するコメント