Das passiert, wenn ich meine Junit-Tests durchführe ...
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 ]
Was ist der Grund für die Ausnahme? Könnte mehr als 1 cacheManager gleichzeitig ausgeführt werden?
So habe ich den cachManager mit Sping 3.1.1 konfiguriert. Der Bereich des cacheManager wird explizit auf "singleton" gesetzt.
<ehcache:annotation-driven />
<bean
id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
scope="singleton"
/>
Die ehcache.xml sieht aus wie
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false"
maxBytesLocalHeap="100M"
name="cacheManager"
>
....
</ehcache>
Endlich meine Klasse
@Component
public class BookingCache implements CacheWrapper<String, BookingUIBean> {
@Autowired
private CacheManager ehCacheManager;
....
}
Ich bin mir sehr sicher, dass es sich nur um einen cacheManager in meiner Codebasis handelt. Etwas anderes führt wahrscheinlich die n-te Instanz aus.