ぶり1.0.0+S2.3
ぶり1.0.0はSeasar2.4との組み合わせで動作するが、Seasar2.3ベースのフレームワーク上でぶりを使いたいという話を受け、ぶりがSeasar2.3との組み合わせで動作するかを調査した。
動くらしいとは聞いていたので多分動くかなと思い調査。
ぶり1.0.0をsvnからチェックアウトしてきて、依存ライブラリをSeasar2.4からSeasar2.3.23に変更してdiconファイルを調整した上でUTを実行してみた。これで動けばまず動くと考えてよいであろう。
で、結論。
- メール送信機能以外は動作した。(UTがall green)
- メール送信機能、具体的にはBuriMailSendProcessorImplは動作しない。
メール送信機能についてだが、ぶり1.0.0が依存しているS2Mai-0.9.6がSeasar2.3で動作しないため、BuriMailSendProcessorImplが動作しない。このProcessor実装を差し替えればメール送信機能もS2.3で動くと思われる。
BuriMailSendProcessorの実装を差し替えるには、buri/dicon/buri-share.diconを差し替えれば良い。
ちなみにS2MaiのSeasar2.4依存部分であるが、MailMetaDataImplのコンストラクタ内でdiconファイルを探索しているところで、「diconファイルが見つからなければ」の処理を
try { ... } catch (ResourceNotFoundRuntimeException e) { classMail = new Mail(); }
としているこのResourceNotFoundRuntimeExceptionのパッケージが、Seasar2.3ではorg.seasar.framework.utilなのに対してSeasar2.4ではorg.seasar.framework.exceptionであるためにSeasar2.3でうまくcatchできないというものである(というわけで、やはりSeasar2.3とSeasar2.4は似て非なるもの、と考えた方が良い)。