|
@@ -12,16 +12,26 @@ import org.springframework.beans.factory.annotation.Qualifier
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties
|
|
|
+import org.springframework.cache.CacheManager
|
|
|
import org.springframework.context.ApplicationContext
|
|
|
import org.springframework.context.ApplicationContextAware
|
|
|
import org.springframework.context.annotation.Bean
|
|
|
import org.springframework.context.annotation.Configuration
|
|
|
import org.springframework.context.annotation.Primary
|
|
|
+import org.springframework.data.redis.cache.CacheKeyPrefix
|
|
|
+import org.springframework.data.redis.cache.RedisCacheConfiguration
|
|
|
+import org.springframework.data.redis.cache.RedisCacheConfiguration.registerDefaultConverters
|
|
|
+import org.springframework.data.redis.cache.RedisCacheManager
|
|
|
+import org.springframework.data.redis.connection.RedisConnectionFactory
|
|
|
+import org.springframework.data.redis.serializer.RedisSerializationContext
|
|
|
+import org.springframework.data.redis.serializer.RedisSerializer
|
|
|
+import org.springframework.format.support.DefaultFormattingConversionService
|
|
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder
|
|
|
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
|
|
|
import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter
|
|
|
import org.springframework.web.server.WebFilter
|
|
|
import java.text.SimpleDateFormat
|
|
|
+import java.time.Duration
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -106,6 +116,21 @@ class CustomCoreConfiguration : ApplicationContextAware {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @Primary
|
|
|
+ @Bean("cacheManager")
|
|
|
+ fun cacheManager(connectionFactory: RedisConnectionFactory): CacheManager {
|
|
|
+ val conversionService = DefaultFormattingConversionService()
|
|
|
+ registerDefaultConverters(conversionService)
|
|
|
+ val cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
|
|
|
+ .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(RedisSerializer.json()))
|
|
|
+ .prefixKeysWith("TUON")
|
|
|
+ return RedisCacheManager.builder(connectionFactory)
|
|
|
+ .cacheDefaults(cacheConfiguration)
|
|
|
+ .build()
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
override fun setApplicationContext(applicationContext: ApplicationContext) {
|
|
|
AppUtils.utils().setContext(applicationContext)
|
|
|
}
|