ぶり1.0.0+S2.3

ぶり1.0.0Seasar2.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を差し替えれば良い。

ちなみにS2MaiSeasar2.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は似て非なるもの、と考えた方が良い)。