Ошибки «Невозможно освободить сеанс» в Java-проекте Google App EngineJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ошибки «Невозможно освободить сеанс» в Java-проекте Google App Engine

Сообщение Anonymous »

Пару недель назад я начал получать ошибки при доступе к сеансам в проекте Java21 на платформе Google App Engine. Трассировка стека приведена ниже. Кажется, ошибка возникает, когда сервлет или JSP выходят за рамки. В результате данные, помещенные в сеанс, становятся недоступными где-либо еще. Я могу воспроизвести это на Java17, но на Java11 этого не происходит. Кто-нибудь видел эту ошибку раньше? В ошибке упоминается ThreadManager, но я ничего не делаю с потоками вручную. Я воспроизвел эту ошибку с почти пустым сервлетом, который выполняет только один вызов getSession.
Этот проект работает без изменений в течение нескольких месяцев без каких-либо проблем, и не было никаких изменений кода или конфигурации. сделано до того, как начались ошибки.
Невозможно выпустить сеанс AppEngineSession@143b3f5f{id=NT6pmOy3_emlWza7siCSWA,x=NT6pmOy3_emlWza7siCSWA.node0,req=0,res=truejava.lang .NullPointerException: операция не разрешена в потоке, который не является ни исходным потоком запроса, ни потоком, созданным ThreadManager
в com.google.appengine.api.NamespaceManager.set(NamespaceManager.java:112)
at com.google.apphosting.runtime.jetty.DatastoreSessionStore$SessionDataStoreImpl.entityFromSession(DatastoreSessionStore.java:232)
на com.google.apphosting.runtime.jetty.DeferredDatastoreSessionStore.doStore(DeferredDatastoreSessionStore.java:79)
в org.eclipse.jetty.session.AbstractSessionDataStore.lambda$store$2(AbstractSessionDataStore.java:196)
в org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1292)
в org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1285)
в org.eclipse.jetty.session.SessionContext.run(SessionContext.java:92)
в org.eclipse.jetty.session.AbstractSessionDataStore.store(AbstractSessionDataStore.java:207)
в org.eclipse.jetty.session.CachingSessionDataStore.store(CachingSessionDataStore.java:131)
в org.eclipse.jetty.session.AbstractSessionCache.release(AbstractSessionCache.java:515)
в org.eclipse.jetty.session.AbstractSessionManager.complete(AbstractSessionManager.java:229)
в org.eclipse .jetty.session.AbstractSessionManager$SessionStreamWrapper.doComplete(AbstractSessionManager.java:1478)
в org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.run(ContextHandler.java:1298)
в org .eclipse.jetty.session.AbstractSessionManager$SessionStreamWrapper.succeeded(AbstractSessionManager.java:1467)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.completeStream(HttpChannelState.java:728)
в org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:654)
в com.google.apphosting.runtime.jetty.delegate.internal.DelegateConnection.lambda$handle$0(DelegateConnection .java:145)
на com.google.apphosting.runtime.jetty.JettyServletEngineAdapter$2.run(JettyServletEngineAdapter.java:136)
на com.google.apphosting.runtime.jetty.delegate.internal. DelegateConnection.handle(DelegateConnection.java:141)
на com.google.apphosting.runtime.jetty.delegate.DelegateConnector.service(DelegateConnector.java:49)
на com.google.apphosting.runtime. jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:267)
на com.google.apphosting.runtime.RequestRunner.dispatchServletRequest(RequestRunner.java:262)
на com.google.apphosting.runtime.RequestRunner. диспетчерский запрос(RequestRunner.java:227)
на com.google.apphosting.runtime.RequestRunner.run(RequestRunner.java:193)
на com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run( ThreadGroupPool.java:273)
на java.base/java.lang.Thread.run(Thread.java:1583)

Подробнее здесь: https://stackoverflow.com/questions/784 ... va-project
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»