The NPE is throwed when then MessageHandler has no Generic Class. 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.getGenericType(Util.java:212) at org.apache.tomcat.websocket.Util.getMessageType(Util.java:171) at org.apache.tomcat.websocket.WsSession.addMessageHandler(WsSession.java:198) Please check on the Util class line 210. The call clazz.getSuperclass() returns null if clazz is a Object class (see JDK Javadoc).
What are you trying to do here and what do you expect? Is it a real use case? (Source code =?) My expectations are that such call is expected to fail. For reference, WsSession.addMessageHandler(WsSession.java:198) method called here is [[[ @Override public void addMessageHandler(MessageHandler listener) { ]]] declared in javax.websocket.Session. Use of that method is discouraged in favor of WebSocket 1.1 methods Session.addMessageHandler(Class<T> clazz, MessageHandler.Partial<T> handler) Session.addMessageHandler(Class<T> clazz, MessageHandler.Whole<T> handler)
r1672628, will be included in 8.0.22. Of course, it will only display a different error. Source for better test ?
r1673169 for 7.0.62.