Von ORDIX® news auf Dienstag, 24. Mai 2016
Kategorie: News

Umstellung Spring Boot V1.3.5 auf V1.4.M2: Probleme mit EHCache

​Nach der Umstellung einer insgesamt schon älteren Spring Boot Anwendung von Spring Boot 1.3.3 auf 1.4.M2 tritt der folgende Fehler auf:

In Spring Boot 1.4.M2 wechselt die Default-Hibernate-Version von 4.3.11 auf 5.1 und EHCache von 2.4.3 auf 2.10.2. Die Anwendung nutzt zwei unterschiedliche Datenbanken und den EHCache als 2nd Level Cache, die in zwei unterschiedlichen ehcache-Dateien konfiguriert sind. Nutze ich (testweise) nur eine Datenbank oder schalte den 2nd Level Cache ab, tritt der Fehler nicht auf. Das kommt als Lösungsansatz allerdings nicht wirklich in Frage. Die gut gemeinten Lösungsvorschläge 1 und 2 im Stacktrace kommen auch nicht in Frage, da ich den Cache nicht selbst anlege, sondern dies über Hibernate erfolgt. Stelle ich in der pom.xml explizit auf Hibernate 5.0.9 um, tritt der Fehler ebenfalls nicht mehr auf. Allerdings kann das auch keine dauerhafte Lösung sein.

Das genaue Lesen der Fehlermeldung hilft (wie so oft) dann aber doch weiter: Wieso ist die Rede von "Another unnamed CacheManager" also einem CacheManager ohne Namen? Und wie schaffe ich es, einen eindeutigen Namen für den CacheManager wie gefordert zu vergeben ("Please provide unique names for each CacheManager in the config")? Mit ein klein wenig Nachforschen über den aktuellen Aufbau der ehcache.xml stellt man fest, dass das Element ehcache in der ehcache.xml ein Attribut "name" hat! Mit der Erkenntnis dann gleich aus

<ehcache updateCheck="false">


<ehcache updateCheck="false" name="cache1">

bzw.
<ehcache updateCheck="false" name="cache2">

gemacht und schon tritt der Fehler nicht mehr auf.

Möchten Sie gerne mehr über Spring lernen?
Dann möchte ich Ihnen gerne unseren "Spring Power Workshop" empfehlen.
Inhalte, Termine und die Möglichkeit zur Anmeldung finden Sie in unserem Seminarbereich: https://seminare.ordix.de/seminare/entwicklung/course/643-P-JEE-06



Kommentare hinterlassen