我有一个简单的代码来处理webSocket收到的消息:
@OnMessage
public void handleMessage(String message, Session session) {
System.out.println("1");
EntradaInicial entrada = new EntradaInicial();
entrada.setTipoEntrada(TipoEntrada.MENU_API);
System.out.println("2");
System.out.println("3");
MenuApiInput he = new MenuApiInput();
he.setTipoRequisicao(TipoRequisicaoMenuApi.CRIAR_SALA);
System.out.println("4");
...
莫名其妙的是,控制台输出只是:
1
2
3
看起来线程在 MenuApiInput(( 构造函数中丢失了,但它是一个默认构造函数:
public MenuApiInput() {}
它不会给出任何异常,只是继续执行,就像方法正常返回一样。
有人可以帮忙吗?
可能是
两件事:
- 有些东西杀死了 websocket 线程;
- Glassfish的websocket组件吃掉了原木。
我赌2。这不是 GlassFish 第一次不记录 WebSocket 回调方法引发的异常。