【发布时间】:2018-12-13 00:45:57
【问题描述】:
我正在使用 tomcat 9.0.4 和 Java 1.8。在同一个项目中,jersey 提供了一个 Web 服务。我可以使用 webservice 类中的 @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。
我找到了这个feature 请求。所以我认为注入仍然没有在tomcat中实现。
我的问题:
- 如何正确地将传入数据写入我的存储库?
- 还有其他方法可以让 Injection 工作吗?
目前我正在考虑迁移到 glassfish,它应该支持从服务器端注入
【问题讨论】:
标签: tomcat jersey cdi java-websocket tomcat9