我得到了下面的Spring框架的錯誤消息:爲什麼我得到一個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
實際上是變量(或者DefaultSpaceManager.java
的一個實例)。
此消息隨機出現,當Web應用程序嘗試下載位於Web服務器/數據庫某處的圖像/附件時。
的attachmentmanager由Spring的事務管理管轄,並當圖像/附件被下載使用下列事務屬性:
1)傳播 - 用於在附接管理器的所有方法
2)傳播和只讀 - 對於以「get」開頭的附件管理器中的所有方法。
的屬性定義如下:http://static.springsource.org/spring/docs/2.0.x/reference/transaction.html
我在想什麼是我需要設置交易超時(如將其設置爲無窮大)。
如果您有任何意見或建議,我們將不勝感激。如果您的答案以任何方式提供幫助,我將獎勵積分!