Код: Выделить всё
if (getUI().isPresent()) {
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
UI ui = getUI().get();
Runnable repeatedTask = () -> {
if (ui.isAttached()) {
ui.access(() -> {
timeLabel.setText(
DateTimeFormatter.ofPattern("HH:mm:ss").format(LocalDateTime.now()));
});
}
};
scheduler.scheduleAtFixedRate(repeatedTask, 1, 1, TimeUnit.SECONDS);
ScheduledExecutorService shutdownSchedule = Executors.newScheduledThreadPool(1);
Runnable shutdownTask = () -> {
scheduler.shutdown();
shutdownSchedule.shutdown();
};
shutdownSchedule.schedule(shutdownTask, 3, TimeUnit.MINUTES);
}
Код: Выделить всё
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:549) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:281) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at org.atmosphere.cpr.
.AtmosphereRequestImpl.removeAttribute(AtmosphereRequestImpl.java:681) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:915) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2] at org.atmosphere.cpr.DefaultBroadcaster$2.run(DefaultBroadcaster.java:477) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(F (FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
: This message com.vaadin.flow.server.communication. AtmospherePushConnection$PushMessage@6cbb2d50 will be lost for AtmosphereResour : Failed to execute a write operation for Broadcaster /*
2023-10-02T13:11:23.767+08:00 WARN 254255 --- [here-Shared-278] org.atmosphere.cpr.DefaultBroadcaster ce 999e5bfb-9531-4708-bff3-195024ca36d1, adding it to the BroadcasterCache 2023-10-02T13:11:23.767+08:00 WARN 254255 [here-Shared-278] org.atmosphere.cpr.DefaultBroadcaster java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.removeAttribute(RequestFacade.java:549) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:281) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at jakarta.servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at org.atmosphere.cpr.
.AtmosphereRequestImpl.removeAttribute(AtmosphereRequestImpl.java:681) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:915) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2] at org.atmosphere.cpr.DefaultBroadcaster$2.run(DefaultBroadcaster.java:477) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(F (FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
2023-10-02T13:11:25.767+08:00 WARN 254255 --- [here-Shared-282] org.atmosphere.cpr.DefaultBroadcaster 2023-10-02T13:11:25.767+08:00 WARN 254255 [here-Shared-282] org.atmosphere.cpr.DefaultBroadcaster
ce 999e5bfb-9531-4708-bff3-195024ca36d1, adding it to the BroadcasterCache
: This message com.vaadin.flow.server.communication. Atmosphere PushConnection$PushMessage@48d18881 will be lost for AtmosphereResour : Failed to execute a write operation 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.removeAttribute(RequestFacade.java:549) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationHttpRequest.removeAttribute(ApplicationHttpRequest.java:281) ~[tomcat-embed-core-10.1.5.jar:10.1.5] .servlet.ServletRequestWrapper.removeAttribute(ServletRequestWrapper.java:268) ~[tomcat-embed-core-10.1.5.jar:6.0]
at
at
at org.atmosphere.cpr.
at org.atmosphere.cpr.AtmosphereRequestImpl.removeAttribute(AtmosphereRequestImpl.java:681) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2] at org.atmosphere. .cpr.
.executeAsyncWrite(DefaultBroadcaster.java:915) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
·Defair to do ver $2.run(DefaultBroadcaster.java:477) ~[atmosphere-runtime-3.0.0.slf4jvaadin2.jar:3.0.0.slf4jvaadin2]
X

Я считаю, что причиной этой проблемы является то, что планировщик пытается обновить метку каждую секунду, но я не знаю, как это исправить. Я использую Vaadin 24, и буду очень признателен за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/772 ... -and-is-no