OSGiバンドルにパッケージ化されたJSR-356(WebSocket API)コードがあります。サーブレットは、必要に応じてApache Felixを介してコードをロードします。OSGiバンドルからServletRequestListenerを登録
私は、通常のWeb記述子に置くServletRequestListener、登録したい:バンドルは機能しませんクラスパスにはないので
<listener>
<listener-class>path.to.my.RequestListener</listener-class>
</listener>
をけど。
どのようにしてServletRequestListenerを登録できますか?私は、注釈をスキャンする方法があるかもしれないと思っていますが、それを設定する方法がわかりません。私の他の懸念事項は、多くのユーザーが起動時間を改善するためにスキャンを無効にすることです。
リスナーの仕事は、HttpSessionを初期化して、WebSocketハンドシェイクでServletContextを取得できるようにすることです。リスナーなしでそれを達成する方法があれば、それは私のためにさらに良く働くでしょう。
設定を少し良く説明できますか?バンドルがクラスパスにないと言っています。クラスパスでどのようにバンドルを行うことができますか? OSGiには、単一のクラスパスもありません。 –
@ChristianSchneider私は、なぜweb.xmlが機能しないのかを明確にしようとしていました。混乱を避けるためにこの声明を削除しました。 – isapir