Я получил исключение JPA
"javax.persistence.PersistenceException: не удалось сбросить транзакцию"
Затем я удалил локальное хранилище данных (datastore-indexes-auto.xml и local_db.bin) из своей системы. Воссоздал все данные снова, и после этого исключение исчезло. Я хочу знать, что только что произошло?
Ниже приведена трассировка стека
[RPC Fault faultString="org.springframework.orm.jpa.JpaSystemException : Transaction failed to flush; nested exception is javax.persistence.PersistenceException: Transaction failed to flush" faultCode="Server.Processing" faultDetail="null"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.5.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:290]
at mx.rpc::Responder/fault()[C:\autobuild\3.5.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:58]
at mx.rpc::AsyncRequest/fault()[C:\autobuild\3.5.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
at NetConnectionMessageResponder/statusHandler()[C:\autobuild\3.5.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:581]
at mx.messaging::MessageResponder/status()[C:\autobuild\3.5.0\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:222]
Ответ 1 · amorfis
Я не знаю google-app-engine, но я предполагаю, что у вас есть ограниченное пространство в БД? Может быть, вам просто не хватило места?
Ответ 2 · Chloe
Я считаю, что это связано с этой проблемой со временем, которое требуется для запуска AppEngine, что приводит к ошибкам тайм-аута.
http://googleappengine.blogspot.com/2009/12/request-performance-in-java.html
Если вы следили за группой среды выполнения Java App Engine, возможно, вы заметили обсуждение производительности среды выполнения Java. Многие из вас жаловались на труднопредсказуемые исключения DeadlineExceededException или неожиданно медленные запросы, использующие большое количество ресурсов ЦП. У этих проблем часто одна и та же основная причина: App Engine готовит новый экземпляр вашего кода для ответа на входящий запрос.
Об этом сообщает Grails http://jira.grails.org/browse/GPAPPENGINE-67
Существует открытая проблема, которую Google до сих пор не исправил, даже спустя несколько лет.
https://code.google.com/p/googleappengine/issues/detail?id=7706
По мере того, как проект Java становится все более сложным и требует загрузки большего количества классов и jar-файлов при запуске, время запуска экземпляра сокращается до такой степени, что экземпляры превышают крайний срок запроса пользователя, равный 60 секундам.
Вы МОЖЕТЕ обойти это, оставив экземпляр бездействующего в памяти, чтобы ему не приходилось раскручиваться.
https://developers.google.com/appengine/docs/adminconsole/performancesettings#scheduler
https://appengine.google.com/settings