javax.persistence.PersistenceException: транзакция не смогла очистить - PullRequest
1 голос
/ 13 сентября 2010

Я получил исключение 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]

Ответы [ 2 ]

0 голосов
/ 25 февраля 2014

Я полагаю, что это связано с тем, что AppEngine требует времени для запуска, что приводит к ошибкам тайм-аута.

http://googleappengine.blogspot.com/2009/12/request-performance-in-java.html

Если вы ужеследуя группе времени выполнения Java App Engine, вы, возможно, заметили некоторые дискуссии о производительности среды выполнения Java.Многие из вас жаловались на трудно прогнозируемые исключения DeadlineExceededExceptions или неожиданно медленные запросы, которые используют большое количество ЦП.Эти проблемы часто имеют одну и ту же основную причину: App Engine готовит новый экземпляр вашего кода для ответа на входящий запрос.

Об этом сообщил Grails http://jira.grails.org/browse/GPAPPENGINE-67

Существуетоткрытая проблема, которую Google еще не исправил, даже спустя несколько лет.

https://code.google.com/p/googleappengine/issues/detail?id=7706

Поскольку проект Java становится более сложным и требует загрузки большего количества классов и jar-файлов при запуске, экземплярвремя запуска снижается до такой степени, что экземпляры переносят крайний срок запроса пользователя в 60-е годы.

Вы МОЖЕТЕ иметь возможность обойти эту проблему, оставив экземпляр в режиме ожидания в памяти, чтобы он не вращалсяup.

https://developers.google.com/appengine/docs/adminconsole/performancesettings#scheduler

https://appengine.google.com/settings

0 голосов
/ 13 сентября 2010

Я не знаю google-app-engine, но я предполагаю, что у вас там ограниченное пространство в БД?Может, тебе просто не хватает места?

...