Warum bin ich immer ein SpringFramework UnexpectedRollbackException?

Ich erhalte die folgende Spring-Framework Fehlermeldung:

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

Öffnete ich macros.vm und blickte Zeile 1651 und es sieht wie folgt aus:

#set ($globalLogo = $spaceManager.getLogoForGlobalContext());

Aus meiner Forschung es sieht aus wie $Proxy44 ist eigentlich die $spaceManager variable (oder eine Instanz von DefaultSpaceManager.java).

Diese Meldung erscheint nach dem Zufallsprinzip und wenn die web-app versucht zu laden Sie ein Bild/attachment sitzen irgendwo auf dem web-server /Datenbank.

Dem attachmentmanager unterliegt Spring Transaktionsmanagement und für die folgenden Transaktions-Attribute werden verwendet, wenn ein Bild/Anhang heruntergeladen wird:

  1. Vermehrung - für alle Methoden in der Anlagen-manager
  2. Vermehrung und Lesen-nur - für alle Methoden in der Anlagen-manager, beginnend mit "get".

Der Attribute sind definiert in Frühling-Rahmen, Kapitel 9. Transaktions-management.
Was ich denke ist, ich brauche, um einen timeout auf den Transaktionen (wie setzen Sie ihn auf unendlich).

InformationsquelleAutor user1068636 | 2012-01-19

Schreibe einen Kommentar