我确实在周日下午发布了一个网站的新版本。此后约有50名用户一直在使用新服务。在周一到周二的晚上,一个servlet在客户机和服务器之间交换DTO时抛出了一个“incompatibleRemoteServiceException”。
它看起来就像在某个时候使用了服务器(或客户端)代码的早期版本。以前有人遇到过这种类型的问题吗?
ServletContext日志:ExternalService:在处理此调用时引发了一个IncompatibleRemoteServiceException。com.google.gwt.user.client.rpc.incompatibleRemoteServiceException:com.francecorentstudents.web.client.internal.shared.registrationdto在com.google.gwt.user.server.rpc.rpc.decoderequest(rpc.java:315)在com.google.gwt.user.server.rpc.remoteServiceServlet.processCall(doPost(AbstractRemoteServiceServlet.javax.servlet.http.httpservlet.service(httpservlet.java:637)在javax.servlet.http.httpservlet.service(httpservlet.java:717)在org.mortbay.jetty.servlet.servlet.servletholder.handle(servletholder.java:511)在org.mortbay.jetty.servlet.servlet.servlet.servlethHandler$cachedchain.doFilter(servlethandler.java:116)在(parseblobuploadfilter.java:102)在org.mortbay.jetty.servlet.servletHandler$cachedchain.doFilter(ServletHandler.java:1157)在com.google.apphosting.runtime.jetty.savesessionfilter.doFilter(savesessionfilter.java:35)在org.mortbay.jetty.servlet.servlet.servlethandler$cachedchain.doFilter(servlethandler.java:1157)在com.google.apphosting.utils.servlet.transactioncleanupfilter.doFilter(servlethandler.java:1157)在在org.mortbay.jetty.security.security.securityHandler.handle(securityHandler.java:216)在org.mortbay.jetty.servlet.sessionHandler.handle(sessionHandler.java:182)在org.mortbay.jetty.handler.java:182)在org.mortbay.jetty.contextHandler.handle(contextHandler.java:765)在:266)在org.mortbay.jetty.handler.handlerWrapper.handle(handlerWrapper.java:152)在org.mortbay.jetty.server.handle(server.java):326)在org.mortbay.jetty.httpconnection.handlerequest(httpconnection.java:542)在org.mortbay.jetty.httpconnection$requesthandler.headerComplet(httpconnection.java:923)在com.google.apphosting.runtime.jetty.rpcrequestparser.parseAvailable(rpcrequestparser.java:76)在org.mortbay.jetty.httyServletEngineAdapter.serviceRequest google.apphosting.runtime.javaruntime$requestrunnable.run(javaruntime.java:447)在com.google.tracing.traceContext$traceContext.java:454)在com.google.tracing.traceContext.java:1.run(traceContext.java:454)在com.google.tracing.traceContext.java:461)在com.google.tracing.traceContext.runinContext$traceContext.java:703)在.traceContext$abstractTraceContextCallback.runinInheritedContext(TraceContext.java:330)在com.google.tracing.traceContext$traceContext.java:458)在com.google.apphosting.runtime.threadgrouppool$poolentry.run(threadgrouppool.java:251)在java.lang.thread.run(thread.java:679),原因是:com.google.gwt.user.client.rpc.serializationException:com.google.gwt.user.server.rpc.impl.serverSerialization的(ServerSerializationStreamReader.java:931)在com.google.gwt.user.server.rpc.impl.ServerSerializationStreamReader.deserialize(ServerSerializationStreamReader.java:545)在com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamReader.java:ReadObject(AbstractSerializationStreamReader.java:119)在AlizationStreamReader.DeserializeValue在com.google.gwt.user.server.rpc.rpc.decoderequest(rpc.java:303)...35个以上
如果在初始部署后的任何时候更新和部署代码,则您的一个客户端可能正在使用缓存的客户端代码。看这个答案。
我想和JDA做一个不和谐的赠品机器人。对我来说,在文件或其他地方保存条目是没有问题的,但是如何在3天后选择获胜者呢?它听起来不是很有效,使用定时器任务或保存到一个文件中的日期,并检查它每发送消息? 你不需要给我一个代码示例,但是一个简短的解释就足够了
数据库 默认情况下,Tendermint使用 syndtr/goleveldb 包作为其进程内键值数据库。不幸的是,LevelDB 的这个实现似乎在重载下受到了影响(参见#226)。最好安装 LevelDB 的真正 c 实现,并使用 make build_c 编译 Tendermint。有关详细信息,请参阅安装说明。 Tendermint 在 $TMROOT/data 中保存多个不同级别的 db
问题内容: 范例1: 输出为: 范例2: 输出: 我只是不明白为什么将saySomething设为非静态会导致第二次调用saySomething调用Cow版本而不是Animal版本。我的理解是, 这两种情况都是输出。 问题答案: 静态方法在编译时绑定到其类,并且不能多态使用。在Animal上声明“静态”方法时,该方法永远绑定到Animal类,并且不能被覆盖。静态方法绑定到Class对象,而不是Cl
有人能告诉我为什么这个代码不起作用吗?它抛出。 错误:
问题内容: 我想在我的spring-boot应用程序开始监视目录更改后运行代码。 我尝试运行新线程,但此时尚未设置服务。 我已经能够找到,它会在设置注释之前触发。理想情况下,一旦应用程序准备处理http请求,我希望触发该事件。 在Spring Boot中启动应用程序后,是否有更好的事件可以使用,或者有更好的代码运行方式? 问题答案: 尝试:
我尝试用Java套接字API制作基本的Java聊天应用程序。但是当客户端终止时,它会引发以下异常, socketException:套接字关闭 我认为即使套接字已经关闭,BufferedReader流仍然尝试读取行消息。 但我不知道当客户端终止时,何时以及如何关闭BufferedReader流和套接字连接。 我完全被这部分卡住了。有什么想法吗?