1
我升級vaadin版本7.7.7,我有時會收到以下錯誤Vaadin異常:找不到方法與參數0在確認com.vaadin.shared.ui.ui.UIServerRpc
java.lang.IllegalStateException: Can't find method acknowledge with 0 parameters in com.vaadin.shared.ui.ui.UIServerRpc
at com.vaadin.server.ServerRpcMethodInvocation.findInvocationMethod(ServerRpcMethodInvocation.java:84) ~[vaadin-server-7.7.7.jar:?]
at com.vaadin.server.ServerRpcMethodInvocation.<init>(ServerRpcMethodInvocation.java:42) ~[vaadin-server-7.7.7.jar:?]
at com.vaadin.server.communication.ServerRpcHandler.parseServerRpcInvocation(ServerRpcHandler.java:590) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.ServerRpcHandler.parseInvocation(ServerRpcHandler.java:534) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.ServerRpcHandler.parseInvocations(ServerRpcHandler.java:500) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:336) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:273) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:148) ~[vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:240) [vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:494) [vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87) [vaadin-server-7.7.7.jar:7.7.7]
at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77) [vaadin-server-7.7.7.jar:7.7.7]
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:199) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:107) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:66) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2075) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:571) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:333) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:328) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:425) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.container.JSR356Endpoint$1.onMessage(JSR356Endpoint.java:214) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.atmosphere.container.JSR356Endpoint$1.onMessage(JSR356Endpoint.java:211) [atmosphere-runtime-2.2.9.vaadin2.jar:2.2.9.vaadin2]
at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:393) [tomcat-websocket.jar:8.0.24]
at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:494) [tomcat-websocket.jar:8.0.24]
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:289) [tomcat-websocket.jar:8.0.24]
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) [tomcat-websocket.jar:8.0.24]
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:60) [tomcat-websocket.jar:8.0.24]
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:203) [tomcat-websocket.jar:8.0.24]
at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:198) [tomcat-coyote.jar:8.0.24]
at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:96) [tomcat-coyote.jar:8.0.24]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:663) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527) [tomcat-coyote.jar:8.0.24]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484) [tomcat-coyote.jar:8.0.24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.24]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
我檢查了源代碼,下面的方法在7.7.0中的UIServerRpc接口中可用,7.7.7中沒有。
@NoLoadingIndicator
public void acknowledge();
這是一個vaadin錯誤?或者,這可能是我的代碼有問題嗎?
似乎鏈接確認()方法已在版本7.7.7中刪除。 您使用的是自定義的widgetset嗎?如果是這樣,請嘗試重新編譯它。否則,檢查也是vaadin客戶端版本7.7.7 –
@MarcoC,你是正確的。我忘了在一個模塊中升級vaadin-maven-plugin中的vaadin版本。 –