Spring-Cache mit Instanzvariable und Parameter als Schlüssel
-
21-12-2019 - |
Frage
Ich verwende ehcache zum Zwischenspeichern der Methodenergebnisse.Der Schlüssel muss eine Kombination aus Mitgliedsobjekt und Methodenparameter sein.Meine Klasse sieht ungefähr so aus:
Class A {
private B b;
@Cacheable(value="someCache",key="some key based on B and C")
public Result getResult(C c){
......
}
Ich brauche den Schlüssel, der auf B und C basiert.Ich verwies https://code.google.com/p/ehcache-spring-annotations/issues/detail?id=69 Sie haben jedoch nicht angegeben, wie der Methodenparameter in die Schlüsselgenerierung einbezogen werden soll.Könnte mir jemand dabei helfen?
Lösung 2
Ich habe einen benutzerdefinierten Key Generator implementiert, um dies zu lösen.Ich denke immer noch, dass dies von Ehcache gelöst werden kann, ohne einen benutzerdefinierten Key Generator zu verwenden.Aber ich konnte die Antwort überall nicht bekommen.Bitte sehen Sie meine Antwort unten:
generasacodicetagpre.Andere Tipps
Sie können darauf zugreifen A
Objekt mit root.target
im Schlüssel.z.B.
key="#root.target.b.id+'-'+#c.id"