Another unnamed CacheManager already exists in the same VM

dmike

Bekanntes Mitglied
Spring 3.1.1 / ehCache 2.5

Wenn ich die Tests laufen lasse dann bekomme ich folgende Exception:

Another CacheManager with same name 'cacheManager' already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]


Mir ist das ganze nicht klar. Warum meint ehCache es gibt > 1 cacheManager?
Ich hab in der spring config den cacheManager explizit auf singleton gesetzt (sollte ja default sein).
Ich habe definitiv nur eine Stelle an der ich den cacheManager verwende.

Das ist der Ausschnitt aus der spring config

Java:
    <ehcache:annotation-driven />

    <bean
        id="cacheManager"
        class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
        scope="singleton"
        />


Hier der kopf der ehcache.xml

[XML]
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false"
maxBytesLocalHeap="100M"
name="cacheManager"
>
....
</ehcache>
[/XML]

Und die Klasse mit dem @Autowire.

Java:
@Component
public class BookingCache implements CacheWrapper<String, BookingUIBean> {


    @Autowired
    private CacheManager ehCacheManager;
....
}
 
Zuletzt bearbeitet:

mvitz

Top Contributor
Vermutung: <ehcache:annotation-driven installiert per default einen eigenen CacheManager.
Mögliche Lösung:
Nutze <ehcache:annotation-driven cache-manager="cacheManager" />
 

dmike

Bekanntes Mitglied
Vermutung: <ehcache:annotation-driven installiert per default einen eigenen CacheManager.
Mögliche Lösung:
Nutze <ehcache:annotation-driven cache-manager="cacheManager" />


Ich habe auch auf SO die Frage gestellt. Es scheint wohl ein allgemeines Problem zu sein.

spring - Another unnamed CacheManager already exists in the same VM (ehCache 2.5) - Stack Overflow


Dort ist auch ein weitere Blog Link angegeben, der das Problem erklärt
Ich bin wieder zurück auf 2.4.7 gegangen.
 

EasyEagle

Aktives Mitglied
Hi dmike,

ich verwende zwar Apache Shiro und nicht Spring, hatte aber das Problem auch immer wenn ich meine Anwendung auf den laufenden Server neu deployed hab.
Ab der Version 2.5 muss der Cachename unique sein und wenn der Server schon läuft hat er bereits einen Cache + Name.
Alternative wäre bei jedem refresh/redeploy den Server auch neu zu starten.

Deshalb bin ich wieder auf die Version 2.4.7 gegangen, da taucht dieses Problem nicht auf.

lg
 

Neue Themen


Oben