[Seasar-user:13402] S2Containerの2.3と2.4の互換性を確保したい

Yoshitaka Tsuda [E-MAIL ADDRESS DELETED]
2008年 3月 25日 (火) 03:08:54 JST


現状、2.3のS2Containerの以下のメソッドを使用した部品があります。

getRequest()
getResponse()

上記メソッドは2.4で存在しないため、この部品は2.4の上で使用出来ません。

2.3と2.4の両方で提供している共通APIはないでしょうか?


この部品の詳細を申しますとこの部品はMethodInterceptorの実装で使用します。
その為、インスタンスはsingletonの必要があり、prototypeとは出来ません。


また、別の手段として、Filterを用いて、HttpServletRequest/HttpServletResponseを
ThreadLocalに保存する実装も試みました。

しかし、S2Strutsを使用している場合では、HttpServletRequestは途中で
ラッピングされるため、Filterで取得したHttpServletRequestとは
別物になってしまいます。


このような課題があるため、出来れば、2.3と2.4で共通するAPIを通して
、HttpServletRequest/HttpServletResponseを取得したいです。


2.4では、container.getExtarnalContext().getRequest()としますので、
たとえば、2.3系でもgetExternalContextを用意していただき、
container.getRequest/getResponseには@deplicatedをつければ、
今までの互換性を保ちつつ、2.3から2.4への移行パスを用意するということが
出来ると考えています。
また、あくまで移行パスとしての対応ですので、2.3系のExternalContextには、
getRequestとgetResponseだけを用意すれば良くなります。
以上、ご検討頂けますようよろしくお願いいたします。
--
yo4taka
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080325/df535b85/attachment-0001.html 


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