Я получаю следующее сообщение Spring Framework сообщение об ошибке:Почему я получаю SpringFramework UnexpectedRollbackException?
Invocation of getLogoForGlobalConext() in class $Proxy44 threw exception
org.springframework.transaction.UnexpectedRollbackException:
Transaction rolled back because it has been marked as rollback-only
at template/includes/macros.vm line 1651, column 43
Я открыл macros.vm
и посмотрел на линию 1651 и это выглядит следующим образом:
#set ($globalLogo = $spaceManager.getLogoForGlobalContext());
Из моих исследований это выглядит $Proxy44
на самом деле $spaceManager
переменная (или экземпляр DefaultSpaceManager.java
).
Это сообщение появляется случайным образом и когда веб-приложение пытается загрузить образ/приложение, сидящее где-то на веб-сервере/базе данных.
attachmentmanager регулируется Управление транзакциями Spring и следующие атрибуты транзакции используются, когда изображение/Вложение будет загружено:
1) распространение - для всех методов в менеджере крепления
2) распространения и только для чтения - для всех методов в менеджере вложений, начиная с «get».
Атрибуты определяются здесь: http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html
То, что я имею в виду, мне нужно, чтобы установить тайм-аут по сделкам (например, установить его на бесконечность).
Понравился бы все или любой из ваших советов. Я вознагражу очки, если ваш ответ поможет в любом случае!