I ran into a rather complicated problem:
javax.websocket.Session session = //... // this works newSession.addMessageHandler(new MessageHandler.Whole<String>() { @Override public void onMessage(String message) { MyWebSocket.this.onMessage(message); } }); // these don't work newSession.addMessageHandler((MessageHandler.Whole<String>) MyWebSocket.this::onMessage); newSession.addMessageHandler((MessageHandler.Whole<String>) message -> MyWebSocket.this.onMessage(message)); void onMessage(String message) { System.out.println(message); }
Does anyone know why lambda expressions will not work in this case? Compilation error, no exception, nothing. The `` onMessage '' method is simply not called.
I am using Java 1.8.0_65 and the reference implementation of Tyrus 1.9.
source share