Um einen Benutzernamen "LastUpdatedBy" -Eigenschaft (zusammen mit einigen anderen Std-Eigenschaften) zu mehreren Domänenklassen hinzuzufügen, habe ich ein Merkmal erstellt. Alles funktioniert gut für die Datenbank, aber der Festplattenspeicher von EhCache gibt eine NotSerializableException für den springSecurityService aus. Ich habeGrails 3 verwenden springSecurityService in einem Merkmal? Serialisierungsfehler -
def springSecurityService
um den principal.username zu erhalten.
Gibt es eine Möglichkeit, den Dienst als vorübergehend zu bezeichnen (statische Transienten = [] scheint nicht zu helfen), oder bin ich in einer Sackgasse? Auf einen Service innerhalb einer Domain-Klasse zu verweisen, ist sowieso ein bisschen heikel, aber was ist eine bessere, praktikable Möglichkeit, den Benutzernamen kurz vor dem Speichern zu erhalten?
sollten Sie transient springSecurityService einfach in Ihrer Domain-Klasse definieren – injecteer