[Seasar-user:14329] Re: S2Velocity 1.2 リリース

Takuya Ueshin [E-MAIL ADDRESS DELETED]
2008年 5月 21日 (水) 10:49:23 JST


こんにちは。
うえしんです。

以前よく使わせていただいていて、ここしばらくは離れていたのですが、
久しぶりに更新されたということで試してみました。
やっぱりツールにコンポーネントがインジェクトされるのは便利です。

さて、早速で申し訳ありませんが、
(おそらく)applicationスコープ以外でtoolbox.xmlに登録されているツールで

org.seasar.framework.container.TooManyRegistrationRuntimeException

を発生する場合があることを確認しました。

具体的には

AutoRegisteringS2ServletToolInfo.javaの60行目(ツールのコンテナへの登録)

が複数回呼ばれる可能性があります。
(webapp起動直後にほぼ同時に複数のリクエストがあった場合など)
これにより、同名のコンテポーネントが複数回登録され、
TooManyRegistrationRuntimeExceptionを発生させることになります。
(Eclipseなどで50行目〜60行目あたりでサスペンドさせると再現できます。)

回避策としましては、
60行目のregister前後をsynchronizedなどでブロックさせ、
再度 container.hasComponentDef で登録確認を行うなどが考えられると思います。

ご確認、よろしくお願いします。


2008/05/21 2:24 TANIGUCHI Hikaru <[E-MAIL ADDRESS DELETED]>:
> 谷口(tanigon)です。
>
> Velocityテンプレートをビュー層に用いたWebアプリケーションを開発する際に、
> ツールボックスをS2Containerで管理するためのライブラリ、 S2Velocity 1.2を
> リリースしました。
>
> ** New Feature
>  * [VELOCITY-2] - コンテナの名前空間によるツールボックス定義をサポート
>
> ** Task
>  * [VELOCITY-8] - Velocity-Tools1.3 基準への変更
>
> S2コンテナの 確認バージョンは S2Container 2.3.2x, 2.4.2x
> 同じく、Velocityは 1.4以降。
> 同じく、Velocity-Toolsは 1.3以降をサポートします。
>
> 詳細はこちら.
>
>  * http://s2velocity.sandbox.seasar.org/
>
> よろしくお願いします。
>
> --
> TANIGUCHI Hikaru / tanigon <[E-MAIL ADDRESS DELETED]>
>   http://iddy.jp/profile/tanigon/
>   http://d.hatena.ne.jp/tanigon/
>   twitter:tanigon
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


Seasar-user メーリングリストの案内