Reputation: 61
I receive this error when starting tomcat with ehcache and Spring.
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.
ehcache.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="true"
monitoring="autodetect"
dynamicConfig="true"
name="ehcacheManager"
>
....
</ehcache>
cache-context.xml
<bean id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" scope="singleton">
<property name="shared" value="true"/>
<property name="configLocation">
<value>classpath:ehcache.xml</value>
</property>
</bean>
I do have and old dependency to hibernate-ehcache, that unfortunately I can not delete. Could this be the issue?
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>3.5.0-Final</version>
</dependency>
Any suggestions? Thank you!
Upvotes: 6
Views: 13915
Reputation: 1
Following will solve the problem:
hibernate.cache.region.factory_class = org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
hibernate.cache.provider_class = net.sf.ehcache.hibernate.SingletonEhCacheProvider
Upvotes: 0
Reputation: 1376
There are two possiblites.
Upvotes: 0
Reputation: 9546
Some solutions are discussed here here
and you might need to provide a ehcache.xml or set the cache name otherwise as you can see here
Edit : ApplicationContext loaded twice
If you hit the breakpoint, go up the stacktrace and you may discover why spring is loading the context twice.
Upvotes: 0