Subversion Repositories SmartDukaan

Rev

Rev 30208 | Rev 30289 | 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
 
30213 amit.gupta 3
import com.github.benmanes.caffeine.cache.Caffeine;
22009 ashik.ali 4
import org.springframework.cache.CacheManager;
5
import org.springframework.cache.annotation.CachingConfigurerSupport;
6
import org.springframework.cache.annotation.EnableCaching;
30213 amit.gupta 7
import org.springframework.cache.caffeine.CaffeineCacheManager;
22009 ashik.ali 8
import org.springframework.context.annotation.Bean;
9
import org.springframework.context.annotation.Configuration;
10
 
30213 amit.gupta 11
import java.util.concurrent.TimeUnit;
22009 ashik.ali 12
 
13
@Configuration
14
@EnableCaching
23716 amit.gupta 15
public class CacheConfig extends CachingConfigurerSupport {
16
 
30213 amit.gupta 17
	@Override
22009 ashik.ali 18
	@Bean
30213 amit.gupta 19
	public CacheManager cacheManager() {
20
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
21
		return cacheManager;
30206 amit.gupta 22
	}
23
 
24
	@Bean
30213 amit.gupta 25
	public CacheManager timeoutCacheManager() {
26
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
27
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(5, TimeUnit.MINUTES);
28
		cacheManager.setCaffeine(caffeine);
29
		return cacheManager;
30206 amit.gupta 30
	}
31
 
32
	@Bean
30213 amit.gupta 33
	public CacheManager timeout15CacheManager() {
34
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
35
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(15, TimeUnit.MINUTES);
36
		cacheManager.setCaffeine(caffeine);
37
		return cacheManager;
22009 ashik.ali 38
	}
23716 amit.gupta 39
 
22009 ashik.ali 40
	@Bean
30213 amit.gupta 41
	public CacheManager oneDayCacheManager() {
42
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
43
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(6, TimeUnit.HOURS);
44
		cacheManager.setCaffeine(caffeine);
45
		return cacheManager;
22009 ashik.ali 46
	}
30206 amit.gupta 47
 
30213 amit.gupta 48
 
29854 amit.gupta 49
	@Bean
30213 amit.gupta 50
	public CacheManager twoMintimeoutCacheManager() {
51
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
52
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES);
53
		cacheManager.setCaffeine(caffeine);
54
		return cacheManager;
29854 amit.gupta 55
	}
23716 amit.gupta 56
 
23405 amit.gupta 57
	@Bean
30213 amit.gupta 58
	public CacheManager thirtyMinsTimeOutCacheManager() {
59
		CaffeineCacheManager cacheManager = new CaffeineCacheManager();
60
		Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES);
61
		cacheManager.setCaffeine(caffeine);
62
		return cacheManager;
23405 amit.gupta 63
	}
22009 ashik.ali 64
 
30206 amit.gupta 65
 
30213 amit.gupta 66
/*	@Bean
67
	JedisConnectionFactory jedisConnectionFactory() {
68
		return new JedisConnectionFactory();
69
	}
70
 
71
	@Autowired
72
	ObjectMapper objectMapper;
73
 
22708 amit.gupta 74
	@Bean
30213 amit.gupta 75
	public RedisCacheConfiguration cacheConfiguration() {
76
		return RedisCacheConfiguration.defaultCacheConfig()
77
				.entryTtl(Duration.ofMinutes(120))
78
				.disableCachingNullValues()
79
				.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(
80
						new GenericJackson2JsonRedisSerializer(objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY))));
22708 amit.gupta 81
	}
82
 
23405 amit.gupta 83
	@Bean
30213 amit.gupta 84
	public CacheManager cacheManager() {
30206 amit.gupta 85
		return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory())
30213 amit.gupta 86
				.cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5)))
30206 amit.gupta 87
				.build();
30213 amit.gupta 88
	}*/
23405 amit.gupta 89
 
22009 ashik.ali 90
}