Я использую Tomcat 9.0.4 и Java 1.8. В том же проекте Джерси предоставляет веб-сервис. Я могу без проблем использовать @ Inject из классов веб-сервиса. Я пытаюсь заставить инъекцию работать с моего экрана конечной точки веб-сокета ниже.
@ApplicationScoped
@ServerEndpoint("/endpoint")
public class ArchApi {
@Inject RepClass injectedClass;
@OnMessage()
public String onMessage(byte[] data) {
injectedClass.doThings("test");
}
}
Это моя реализация CDI:
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.27</version>
</dependency>
Все, что я получаю, это java.lang.NullPointerException .
Я нашел эту функцию запрос. Так что я думаю, что Инъекция все еще не реализована в Tomcat.
Мои вопросы:
- Как правильно записать свои входящие данные в мой репозиторий?
- Есть ли другой способ заставить инъекцию работать?
В данный момент я думаю о миграции на стеклянную рыбу, которая должна поддерживать инъекцию из Serverendpoint