2 回答

TA貢獻1773條經驗 獲得超3個贊
異常表明問題是什么:
Caused by: java.lang.ClassNotFoundException: javax.websocket.ClientEndpointConfig$Configurator at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 2 more
javax.websocket.ClientEndpointConfig$Configurator
找不到該類。請確保正確的類加載器可以訪問所有必要的類來運行您的應用程序。

TA貢獻1872條經驗 獲得超4個贊
問題是在連接時stompClient.connect(socketURL,sessionHandler).get();我還添加了實際發生錯誤的注釋。transports.add(new WebSocketTransport(new JettyWebSocketClient()));我通過替換為解決了這個問題transports.add(new RestTemplateXhrTransport());
以下是變化:
public static StompSession createStompWSConnection(String socketURL,StompSessionHandler sessionHandler) throws Exception {
List<Transport> transports = new ArrayList<Transport>();
//transports.add(new WebSocketTransport(new StandardWebSocketClient()));
//transports.add(new WebSocketTransport(new JettyWebSocketClient()));
transports.add(new RestTemplateXhrTransport());
SockJsClient sockJsClient = new SockJsClient(transports);
WebSocketStompClient stompClient = new WebSocketStompClient(sockJsClient);
stompClient.setMessageConverter(new MappingJackson2MessageConverter());
//stompClient.setMessageConverter(new Mapp);
StompSession session = stompClient.connect(socketURL,sessionHandler).get(); //error occurs here
System.out.println("Session : " + session);
session.subscribe("/queue/msg", sessionHandler);
return session;
}
添加回答
舉報