我刚刚将我的 Vaadin 应用程序从 23.x 升级到 24.x,并相应地使用 Tomcat 10.1.8 升级了我的运行时环境。
我正在使用
@Push(PushMode.AUTOMATIC)
我的 Servlet 使用以下内容
@WebServlet(urlPatterns = "/*", name = "MyApp", asyncSupported = true, initParams = {
@WebInitParam(name = "productionMode", value = "true"),
@WebInitParam(name = "heartbeatInterval", value = "30"),
@WebInitParam(name = "closeIdleSessions", value = "false")})
我反复记录以下内容,我的用户界面很慢。为了升级到 Vaadin 24.x 以解决此问题,我还需要配置或更改其他内容吗?或者这是一个错误?
Atmosphere-Shared-0] WARN org.atmosphere.cpr.DefaultBroadcaster - This message Entry{message=com.vaadin.flow.server.communication.AtmospherePushConnection$PushMessage@65df019a, type=RESOURCE, future=org.atmosphere.cpr.BroadcasterFuture@4dfa5742} will be lost
[Atmosphere-Shared-0] WARN org.atmosphere.cpr.DefaultBroadcaster - Failed to submit broadcast handler runnable to for Broadcaster/*
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.checkFacade(RequestFacade.java:856)
at org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:505)
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82)
at org.atmosphere.cpr.AtmosphereRequestImpl.getHeader(AtmosphereRequestImpl.java:351)
at org.atmosphere.cpr.AtmosphereRequestImpl.getHeader(AtmosphereRequestImpl.java:336)
at com.vaadin.flow.server.communication.LongPollingCacheFilter.filter(LongPollingCacheFilter.java:56)
at org.atmosphere.cpr.BroadcasterConfig.filter(BroadcasterConfig.java:452)
at org.atmosphere.cpr.DefaultBroadcaster.perRequestFilter(DefaultBroadcaster.java:818)
at org.atmosphere.cpr.DefaultBroadcaster.deliverPush(DefaultBroadcaster.java:691)
at org.atmosphere.cpr.DefaultBroadcaster.push(DefaultBroadcaster.java:568)
at org.atmosphere.cpr.DefaultBroadcaster$1.run(DefaultBroadcaster.java:423)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
除了使用 Spring 的配置之外,我没有找到任何其他对此日志记录错误的引用,但我的应用程序不使用 Spring