Я пытаюсь запустить клиент веб-сокета в контексте Tomcat. Итак, сценарий таков: у меня есть конечная точка сервера Websocket, развернутая на Tomcat, как часть приложения-1. Приложение-2, которое также развернуто на Tomcat (очевидно, в другом корневом контексте), хочет отправить сообщение.
Класс в App-2 работает нормально, если я запускаю его отдельно от основного метода. Но он дает ошибку ниже, когда он работает в контексте tomcat. (Я использую Tyrus 1.9 как JSR-356 impl)
java.util.ServiceConfigurationError: javax.websocket.ContainerProvider: Provider org.apache.tomcat.websocket.WsContainerProvider not a subtype
at java.util.ServiceLoader.fail(ServiceLoader.java:239)
at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at javax.websocket.ContainerProvider.getWebSocketContainer(ContainerProvider.java:66)
Вышеупомянутое исключение выбрасывается в этой строке: WebSocketContainer container = ContainerProvider.getWebSocketContainer();
Любые предложения о том, как это исправить, будут очень полезны.