我正在使用 tomcat 9.0.4 和 Java 1.8。在同一个项目中,jersey 提供了一个 Web 服务。我可以毫无问题地使用 Web 服务类中的@Inject 。我正在尝试从下面的 websocket 端点显示中进行注入。
@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中实现。
我的问题:
- 我如何正确地将传入的数据写入我的存储库?
- 还有其他方法可以让 Injection 工作吗?
目前我正在考虑迁移到 glassfish,它应该支持从服务器端注入