私はJSR-356 WebSocketアプリケーションを持っています。私はそれを初期化するためにリスナーを使用しているので、スタートアップを遅くするアノテーションのjarスキャンに頼る必要はありません。ServletListenerを単一のコンテキストに制限する方法
<listener>
<listener-class>my.ServletContextListenerImpl</listener-class>
</listener>
問題は今ことです:web.xmlデプロイメント・ディスクリプタにそのリスナーを登録し、その後
@Override
public void contextInitialized(ServletContextEvent sce) {
ServerContainer serverContainer = (ServerContainer) sce
.getServletContext()
.getAttribute("javax.websocket.server.ServerContainer");
serverContainer.addEndpoint(MyEndPoint.class);
}
そして:
は例えば、私はのWebSocketのEndPoint
を登録ServletContextListener
実装を使用しますエンドポイントはすべてのWebコンテキストに登録されていますが、これは私が望むものではありません。
どのように特定のコンテキストにリスナーを制限できますか?または、リスナー上で「init params」を設定して、私のServletContextListenerで検査し、いくつかのinit paramと一致する場合にのみEndPointを登録できるようにします。