Esto es lo que sucede cuando ejecuto mis pruebas junit ...
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 ]
Cuál es la razón detrás de la excepción. ¿Podría haber más de 1 cacheManager ejecutándose simultáneamente?
Así es como configuré cachManager usando Sping 3.1.1. Establece explícitamente el alcance del cacheManager en "singleton"
<ehcache:annotation-driven />
<bean
id="cacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
scope="singleton"
/>
El ehcache.xml se parece a
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false"
maxBytesLocalHeap="100M"
name="cacheManager"
>
....
</ehcache>
Finalmente mi clase
@Component
public class BookingCache implements CacheWrapper<String, BookingUIBean> {
@Autowired
private CacheManager ehCacheManager;
....
}
Estoy muy seguro de que estoy tratando con un solo cacheManager en mi base de código. Algo más probablemente esté ejecutando la enésima instancia.