次のSpringFrameworkエラーメッセージが表示されます。
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
1651行目を開いmacros.vm
て調べたところ、次のようになりました。
#set ($globalLogo = $spaceManager.getLogoForGlobalContext());
$Proxy44
私の調査によると、実際には$spaceManager
変数(またはのインスタンス)であるように見えますDefaultSpaceManager.java
。
このメッセージはランダムに表示され、WebアプリがWebサーバー/データベースのどこかにある画像/添付ファイルをダウンロードしようとしたときに表示されます。
attachmentmanagerはSpringのトランザクション管理によって管理され、イメージ/添付ファイルがダウンロードされるときに次のトランザクション属性が使用されます。
伝播-添付ファイルマネージャーのすべてのメソッド
伝播と読み取り専用-「get」で始まる添付ファイルマネージャーのすべてのメソッド。
属性はSpringFramework-第9章トランザクション管理で定義されています。私が考えているのは、トランザクションにタイムアウトを設定する必要があるということです(無限大に設定するなど)。