Subversion Repositories SmartDukaan

Rev

Rev 23405 | Rev 24440 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 23405 Rev 23716
Line 3... Line 3...
3
import java.util.concurrent.TimeUnit;
3
import java.util.concurrent.TimeUnit;
4
 
4
 
5
import org.springframework.cache.CacheManager;
5
import org.springframework.cache.CacheManager;
6
import org.springframework.cache.annotation.CachingConfigurerSupport;
6
import org.springframework.cache.annotation.CachingConfigurerSupport;
7
import org.springframework.cache.annotation.EnableCaching;
7
import org.springframework.cache.annotation.EnableCaching;
8
import org.springframework.cache.guava.GuavaCacheManager;
8
import org.springframework.cache.caffeine.CaffeineCacheManager;
9
import org.springframework.context.annotation.Bean;
9
import org.springframework.context.annotation.Bean;
10
import org.springframework.context.annotation.Configuration;
10
import org.springframework.context.annotation.Configuration;
11
 
11
 
12
import com.google.common.cache.CacheBuilder;
12
import com.github.benmanes.caffeine.cache.Caffeine;
13
 
13
 
14
@Configuration
14
@Configuration
15
@EnableCaching
15
@EnableCaching
16
public class CacheConfig extends CachingConfigurerSupport{
16
public class CacheConfig extends CachingConfigurerSupport {
17
	
17
 
18
	@Override
18
	@Override
19
	@Bean
19
	@Bean
20
	public CacheManager cacheManager() {
20
	public CacheManager cacheManager() {
21
	    GuavaCacheManager cacheManager = new GuavaCacheManager();
21
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
22
	    return cacheManager;
22
		return cacheManager;
23
	}
23
	}
24
	
24
 
25
	@Bean
25
	@Bean
26
	public CacheManager timeoutCacheManager() {
26
	public CacheManager timeoutCacheManager() {
27
	    GuavaCacheManager cacheManager = new GuavaCacheManager();
27
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
28
	    CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().expireAfterWrite(5, TimeUnit.MINUTES);
28
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(5, TimeUnit.MINUTES);
29
	    cacheManager.setCacheBuilder(cacheBuilder);
29
		cacheManager.setCaffeine(caffeine);
30
	    return cacheManager;
30
		return cacheManager;
31
	}
31
	}
32
	
32
 
33
	@Bean
33
	@Bean
34
	public CacheManager oneDayCacheManager() {
34
	public CacheManager oneDayCacheManager() {
35
		GuavaCacheManager cacheManager = new GuavaCacheManager();
35
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
36
		CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.DAYS);
36
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(1, TimeUnit.DAYS);
37
		cacheManager.setCacheBuilder(cacheBuilder);
37
		cacheManager.setCaffeine(caffeine);
38
		return cacheManager;
38
		return cacheManager;
39
	}
39
	}
40
 
40
 
41
	@Bean
41
	@Bean
42
	public CacheManager twoMintimeoutCacheManager() {
42
	public CacheManager twoMintimeoutCacheManager() {
43
		GuavaCacheManager cacheManager = new GuavaCacheManager();
43
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
44
		CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES);
44
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES);
45
		cacheManager.setCacheBuilder(cacheBuilder);
45
		cacheManager.setCaffeine(caffeine);
46
		return cacheManager;
46
		return cacheManager;
47
	}
47
	}
48
 
48
 
49
	@Bean
49
	@Bean
50
	public CacheManager thirtyMinsTimeOutCacheManager() {
50
	public CacheManager thirtyMinsTimeOutCacheManager() {
51
		GuavaCacheManager cacheManager = new GuavaCacheManager();
51
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
52
		CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES);
52
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES);
53
		cacheManager.setCacheBuilder(cacheBuilder);
53
		cacheManager.setCaffeine(caffeine);
54
		return cacheManager;
54
		return cacheManager;
55
	}
55
	}
56
 
56
 
57
}
57
}
58
58