Subversion Repositories SmartDukaan

Rev

Rev 24440 | Rev 29854 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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