박재우
7 months ago
3 changed files with 73 additions and 2 deletions
@ -0,0 +1,46 @@
|
||||
package kr.co.palnet.kac.app.config; |
||||
|
||||
import java.time.Duration; |
||||
|
||||
import javax.cache.CacheManager; |
||||
|
||||
import org.ehcache.config.builders.CacheConfigurationBuilder; |
||||
import org.ehcache.config.builders.ExpiryPolicyBuilder; |
||||
import org.ehcache.config.builders.ResourcePoolsBuilder; |
||||
import org.ehcache.config.units.EntryUnit; |
||||
import org.ehcache.config.units.MemoryUnit; |
||||
import org.ehcache.jsr107.Eh107Configuration; |
||||
import org.hibernate.cache.jcache.ConfigSettings; |
||||
import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer; |
||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernatePropertiesCustomizer; |
||||
import org.springframework.cache.annotation.EnableCaching; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
@EnableCaching |
||||
@Configuration |
||||
public class CachingConfig { |
||||
|
||||
private final javax.cache.configuration.Configuration<Object, Object> jCacheConfiguration; |
||||
|
||||
public CachingConfig() { |
||||
this.jCacheConfiguration = Eh107Configuration.fromEhcacheCacheConfiguration(CacheConfigurationBuilder.newCacheConfigurationBuilder(Object.class, Object.class, |
||||
ResourcePoolsBuilder.newResourcePoolsBuilder() |
||||
.heap(10000, EntryUnit.ENTRIES)) |
||||
.withSizeOfMaxObjectSize(1000, MemoryUnit.B) |
||||
.withExpiry(ExpiryPolicyBuilder.timeToIdleExpiration(Duration.ofSeconds(30))) |
||||
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofSeconds(60)))); |
||||
} |
||||
|
||||
|
||||
@Bean |
||||
public HibernatePropertiesCustomizer hibernatePropertiesCustomizer(CacheManager cacheManager) { |
||||
return hibernateProperties -> hibernateProperties.put(ConfigSettings.CACHE_MANAGER, cacheManager); |
||||
} |
||||
|
||||
@Bean |
||||
public JCacheManagerCustomizer cacheManagerCustomizer() { |
||||
return cm -> { |
||||
cm.createCache("code", jCacheConfiguration); |
||||
}; |
||||
} |
||||
} |
Loading…
Reference in new issue