Tsutomu Yano
t_yano****@me*****
2011年 4月 24日 (日) 16:44:43 JST
矢野です。 自分でコメント。 On 2011/04/24, at 1:37, Tsutomu Yano wrote: > なお、SwitchProtocolRequestTargetがパッケージプライベートなのはともかく、SwitchProtocolRequestTarget.Protocolが外部参照不可なのは、もしかしたら、Wicket側の問題かもしれません。 この部分、変なこと書いてますね、私。SwitchProtocolRequestTargetがパッケージプライベートなので、SwitchProtocolRequestTarget.requireProtocol(Protocol)を呼び出すこと自体ができないですから、Protocolだけ外部参照可能になっても意味がないですね。SwitchProtocolRequestTarget自体がpublicにならないと。 結局、現在のデザインでは、やはり拡張ポイントはHttpsRequestCycleProcessorのcheckSecureIncoming()であり、ここでHTTPS/HTTPの判定をして、期待する動作をする新しいIRequestTargetを返せば、そのリクエストターゲットに処理が移る、という作りのようですね。 SwitchProtocolRequestTargetのオーバーライドが出来れば楽ですができないので、もし私がやるならば、SwitchProtocolRequestTargetをコピーして独自のクラスを作り、それを利用するような気がします。 WicketのMLに「このメソッド(やクラス)が非公開なのはおかしい」というポストがたまに投げられて、次リリースでpublicになってたりすることがあるので、SwitchProtocolRequestTargetはpublicであるべきだと言ってみるのもいいかもしれません。 ただ、本トラブルについては、Glassfishで対応できるならそうしたほうが問題に対して直接的なアプローチなので、トラブルが少なくなる(アプリケーション側で余計な考慮をする必要がなくなる)ように感じました。 --------------------------------------------------- 矢野 勉(やの つとむ) 電子メール: t_yano****@me***** ---------------------------------------------------