Tomcat 8.0.21addMessageHandler NullPointerException с лямбда
Это работает:
session.addMessageHandler(new MessageHandler.Whole<String>() {
@Override
public void onMessage(String string) {
try {
session.getBasicRemote().sendText(string);
} catch (IOException ex) {
Logger.getLogger(WebSocket.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Это не:
session.addMessageHandler((MessageHandler.Whole<String>) (String string) -> {
try {
session.getBasicRemote().sendText(string);
} catch (IOException ex) {
Logger.getLogger(WebSocket.class.getName()).log(Level.SEVERE, null, ex);
}
});
Могу ли я считать, что это ошибка кот?
java.lang.NullPointerException
at org.apache.tomcat.websocket.Util.getGenericType(Util.java:192)
at org.apache.tomcat.websocket.Util.getGenericType(Util.java:212)
at org.apache.tomcat.websocket.Util.getGenericType(Util.java:212)
at org.apache.tomcat.websocket.Util.getMessageType(Util.java:171)
at org.apache.tomcat.websocket.WsSession.addMessageHandler(WsSession.java:198)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:138)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:696)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Когда вы говорите «это не», каким образом она не работает? Какова трассировка стека? – Tavo
Извините, идеальный выбор времени. – Tavo