parent
e2aad41b78
commit
0d4fa7c748
|
@ -1,17 +0,0 @@
|
||||||
package org.baeldung.caching.eviction;
|
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
import org.springframework.cache.annotation.EnableCaching;
|
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
||||||
|
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
@EnableCaching
|
|
||||||
@EnableScheduling
|
|
||||||
public class CacheEvictionMain {
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
SpringApplication.run(CacheEvictionMain.class, args);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.baeldung.caching.eviction.cotrollers;
|
package org.baeldung.caching.eviction.controllers;
|
||||||
|
|
||||||
import org.baeldung.caching.eviction.service.CachingService;
|
import org.baeldung.caching.eviction.service.CachingService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@ -4,41 +4,76 @@ import static org.hamcrest.CoreMatchers.is;
|
||||||
import static org.hamcrest.CoreMatchers.nullValue;
|
import static org.hamcrest.CoreMatchers.nullValue;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
import org.baeldung.caching.eviction.CacheEvictionMain;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.baeldung.caching.eviction.service.CachingService;
|
import org.baeldung.caching.eviction.service.CachingService;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.cache.Cache;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.cache.CacheManager;
|
||||||
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
|
import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean;
|
||||||
|
import org.springframework.cache.support.SimpleCacheManager;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@SpringBootTest(classes = { CacheEvictionMain.class, CachingService.class })
|
@ContextConfiguration
|
||||||
public class CacheEvictAnnotationIntegrationTest {
|
public class CacheEvictAnnotationIntegrationTest {
|
||||||
|
|
||||||
@Autowired
|
@Configuration
|
||||||
CachingService cachingService;
|
@EnableCaching
|
||||||
|
static class ContextConfiguration {
|
||||||
|
|
||||||
@Before
|
@Bean
|
||||||
public void before() {
|
public CachingService cachingService() {
|
||||||
cachingService.putToCache("first", "key1", "Baeldung");
|
return new CachingService();
|
||||||
cachingService.putToCache("first", "key2", "Article");
|
}
|
||||||
}
|
|
||||||
|
@Bean
|
||||||
|
public CacheManager cacheManager(){
|
||||||
|
SimpleCacheManager cacheManager = new SimpleCacheManager();
|
||||||
|
List<Cache> caches = new ArrayList<>();
|
||||||
|
caches.add(cacheBean().getObject());
|
||||||
|
cacheManager.setCaches(caches );
|
||||||
|
return cacheManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ConcurrentMapCacheFactoryBean cacheBean(){
|
||||||
|
ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean();
|
||||||
|
cacheFactoryBean.setName("first");
|
||||||
|
return cacheFactoryBean;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Autowired
|
||||||
public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() {
|
CachingService cachingService;
|
||||||
cachingService.evictSingleCacheValue("key1");
|
|
||||||
String key1 = cachingService.getFromCache("first", "key1");
|
|
||||||
assertThat(key1, is(nullValue()));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Before
|
||||||
public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() {
|
public void before() {
|
||||||
cachingService.evictAllCacheValues();
|
cachingService.putToCache("first", "key1", "Baeldung");
|
||||||
String key1 = cachingService.getFromCache("first", "key1");
|
cachingService.putToCache("first", "key2", "Article");
|
||||||
String key2 = cachingService.getFromCache("first", "key2");
|
}
|
||||||
assertThat(key1, is(nullValue()));
|
|
||||||
assertThat(key2, is(nullValue()));
|
@Test
|
||||||
}
|
public void givenFirstCache_whenSingleCacheValueEvictRequested_thenEmptyCacheValue() {
|
||||||
|
cachingService.evictSingleCacheValue("key1");
|
||||||
|
String key1 = cachingService.getFromCache("first", "key1");
|
||||||
|
assertThat(key1, is(nullValue()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenFirstCache_whenAllCacheValueEvictRequested_thenEmptyCache() {
|
||||||
|
cachingService.evictAllCacheValues();
|
||||||
|
String key1 = cachingService.getFromCache("first", "key1");
|
||||||
|
String key2 = cachingService.getFromCache("first", "key2");
|
||||||
|
assertThat(key1, is(nullValue()));
|
||||||
|
assertThat(key2, is(nullValue()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,18 +4,59 @@ import static org.hamcrest.CoreMatchers.is;
|
||||||
import static org.hamcrest.CoreMatchers.nullValue;
|
import static org.hamcrest.CoreMatchers.nullValue;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
import org.baeldung.caching.eviction.CacheEvictionMain;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.baeldung.caching.eviction.service.CachingService;
|
import org.baeldung.caching.eviction.service.CachingService;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.cache.Cache;
|
||||||
import org.springframework.test.context.junit4.SpringRunner;
|
import org.springframework.cache.CacheManager;
|
||||||
|
import org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean;
|
||||||
|
import org.springframework.cache.support.SimpleCacheManager;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.test.context.ContextConfiguration;
|
||||||
|
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||||
|
|
||||||
@RunWith(SpringRunner.class)
|
@RunWith(SpringJUnit4ClassRunner.class)
|
||||||
@SpringBootTest(classes = { CacheEvictionMain.class, CachingService.class })
|
@ContextConfiguration
|
||||||
public class CacheManagerEvictIntegrationTest {
|
public class CacheManagerEvictIntegrationTest {
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
static class ContextConfiguration {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CachingService cachingService() {
|
||||||
|
return new CachingService();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public CacheManager cacheManager(){
|
||||||
|
SimpleCacheManager cacheManager = new SimpleCacheManager();
|
||||||
|
List<Cache> caches = new ArrayList<>();
|
||||||
|
caches.add(cacheBeanFirst().getObject());
|
||||||
|
caches.add(cacheBeanSecond().getObject());
|
||||||
|
cacheManager.setCaches(caches );
|
||||||
|
return cacheManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ConcurrentMapCacheFactoryBean cacheBeanFirst(){
|
||||||
|
ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean();
|
||||||
|
cacheFactoryBean.setName("first");
|
||||||
|
return cacheFactoryBean;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ConcurrentMapCacheFactoryBean cacheBeanSecond(){
|
||||||
|
ConcurrentMapCacheFactoryBean cacheFactoryBean = new ConcurrentMapCacheFactoryBean();
|
||||||
|
cacheFactoryBean.setName("second");
|
||||||
|
return cacheFactoryBean;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
CachingService cachingService;
|
CachingService cachingService;
|
||||||
|
|
Loading…
Reference in New Issue