Наше приложение представляет собой приложение Java-GWT, которое широко использует Guice-Persist и Guice-Servlet. У нас никогда не было проблем с использованием функции сеанса на HTTPRequest в Guice-Persist, которая похожа на то, что изначально использовал Warp-persist.
Мы фильтруем наше веб-приложение через класс PersistFilter в соответствии с документацией. Наш файл persistence.xml имеет тип транзакции = "RESOURCE_LOCAL" в соответствии с документацией Guice здесь.
Теперь по какой-то странной причине наша среда PROD показывает ошибку
«Работа над этим потоком уже началась. Похоже, вы дважды вызывали UnitOfWork.begin() без балансирующего вызова end() между ними».
Похоже, существует проблема, из-за которой в Guice-Persist не поддерживаются вложенные единицы работы. ССЫЛКА
Мы также недавно перешли со спящего режима 3.6.3.Final на 4.1.4.Final. Не уверен, что у него будет какая-то несовместимость с guice...
На данный момент мы полностью в неведении относительно того, почему это происходит.