Rev 30208 | Rev 30289 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.dao.config;import com.github.benmanes.caffeine.cache.Caffeine;import org.springframework.cache.CacheManager;import org.springframework.cache.annotation.CachingConfigurerSupport;import org.springframework.cache.annotation.EnableCaching;import org.springframework.cache.caffeine.CaffeineCacheManager;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import java.util.concurrent.TimeUnit;@Configuration@EnableCachingpublic class CacheConfig extends CachingConfigurerSupport {@Override@Beanpublic CacheManager cacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();return cacheManager;}@Beanpublic CacheManager timeoutCacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(5, TimeUnit.MINUTES);cacheManager.setCaffeine(caffeine);return cacheManager;}@Beanpublic CacheManager timeout15CacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(15, TimeUnit.MINUTES);cacheManager.setCaffeine(caffeine);return cacheManager;}@Beanpublic CacheManager oneDayCacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(6, TimeUnit.HOURS);cacheManager.setCaffeine(caffeine);return cacheManager;}@Beanpublic CacheManager twoMintimeoutCacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(2, TimeUnit.MINUTES);cacheManager.setCaffeine(caffeine);return cacheManager;}@Beanpublic CacheManager thirtyMinsTimeOutCacheManager() {CaffeineCacheManager cacheManager = new CaffeineCacheManager();Caffeine<Object, Object> caffeine = Caffeine.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES);cacheManager.setCaffeine(caffeine);return cacheManager;}/* @BeanJedisConnectionFactory jedisConnectionFactory() {return new JedisConnectionFactory();}@AutowiredObjectMapper objectMapper;@Beanpublic RedisCacheConfiguration cacheConfiguration() {return RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofMinutes(120)).disableCachingNullValues().serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer(objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY))));}@Beanpublic CacheManager cacheManager() {return RedisCacheManager.RedisCacheManagerBuilder.fromConnectionFactory(jedisConnectionFactory()).cacheDefaults(cacheConfiguration().entryTtl(Duration.ofMinutes(5))).build();}*/}