Subversion Repositories SmartDukaan

Rev

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