jakarta-ee - 无法使 WebSockets 在 Payara 5.1 中工作
问题描述
我试图使旧的 Java 7 EE WebSocket 应用程序:https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/HomeWebsocket/WebsocketHome.html在 Payara Server 5.184 #badassfish (build 89) 中工作
但是,WebSocket (@ServerEndpoint) 无法实例化。
Severe: Exception in thread "glassfish-web-async-thread-1" Severe:
java.lang.NullPointerException at
org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.processAllDataRead(InputBuffer.java:492) at
org.apache.catalina.connector.InputBuffer$ReadHandlerImpl.access$800(InputBuffer.java:385) at
org.apache.catalina.connector.InputBuffer$ReadHandlerImpl$2.run(InputBuffer.java:475) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at
java.lang.Thread.run(Thread.java:748)
通过启用 CDI 开发模式,我看到:
WARN: WELD-001703: Unable to determine the @Intercepted Bean<?> for
[UnbackedAnnotatedField] @Inject @Intercepted private
org.jboss.weld.probe.InvocationMonitor.interceptedBean WARN:
PROBE-000020: A problem occured during monitoring of bean instance
construction: null java.lang.RuntimeException: at
com.magicpigeon.websocket.DeviceWebSocketServer.<init>(DeviceWebSocketServer.java:1) at
com.magicpigeon.websocket.DeviceWebSocketServer$Proxy$_$$_WeldSubclass.<init>(Unknown Source) at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
DeviceWebSocketServer
是我的@ServerEndpoint 类。是否有任何与 CDI 相关的错误?我能错过什么?
代码在这里:https ://github.com/DanielMerchan/WebsocketHome如果有人想尝试一下。过去,这在我使用 Glassfish 的旧 Netbeans 中有效(不记得版本)。
谢谢。
解决方案
如果我保留 Java EE 7,它可以工作。不知道升级到 Java EE 8 后会发生什么。
推荐阅读
- flutter - 在 Flutter 上,我想从硬盘驱动器获取图像并随机显示
- pandas-groupby - 用groupby中的2个变量计算滚动总和
- rust - 如何在函数中调用 FLTK 代码?
- json - 如何将虚拟数据添加到嵌套的 JSON 结构
- docker - 防止在 docker 镜像标签中插入端口号
- java - 使用 Enum 存储常量并在多个类中使用这些常量
- javascript - 有没有办法使用文件系统访问 API 以编程方式设置默认目录
- python-3.x - Gurobi 的速度比 CBC 求解器慢(使用 PuLP)?
- c - SO_MARK 有效值
- javascript - 如何在反应生命周期方法中使用 websockets?