나머지 구현 (스프링 보안과 세션 없음)이있는 스프링 부팅 응용 프로그램에서 사용자 테이블에 대한 데이터베이스 호출이 여러 번 발생하지 않도록하고 싶습니다. WebSecurityConfigurerAdapter를 확장하는 클래스에서 캐시가 봄 부팅과 함께 사용되지 않음
, 내가@Bean
public AuthenticationProvider authenticationProviderBean() throws Excen {
DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
authenticationProvider.setPasswordEncoder(passwordEncoder);
authenticationProvider.setUserCache(userCache);
authenticationProvider.setUserDetailsService(userDetailsServiceBean());
return authenticationProvider;
}
@Configuration
@EnableCaching
public class CacheConfig {
@Bean
public EhCacheFactoryBean ehCacheFactoryBean(){
EhCacheFactoryBean ehCacheFactory = new EhCacheFactoryBean();
ehCacheFactory.setCacheManager(cacheManagerFactoryBean().getObject());
return ehCacheFactory;
}
@Bean
public CacheManager cacheManager(){
return new EhCacheCacheManager(cacheManagerFactoryBean().getObject());
}
@Bean
public EhCacheManagerFactoryBean cacheManagerFactoryBean() {
EhCacheManagerFactoryBean cacheManager = new EhCacheManagerFactoryBean();
return cacheManager;
}
@Bean
public UserCache userCache() {
EhCacheBasedUserCache userCache = new EhCacheBasedUserCache();
userCache.setCache(ehCacheFactoryBean().getObject());
return userCache;
}
}
ehcache.xml (자바에서 그것을 할 가능성?)
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" dynamicConfig="true">
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxEntriesLocalHeap="10000"
eternal="false"
timeToIdleSeconds="60"
timeToLiveSeconds="300"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
<persistence strategy="localTempSwap"/>
</defaultCache>
</ehcache>
어떻게해야 할 다음 내 캐시를 사용하는가?
실제로 내가 쿼리 쉬운 방법은 통계를 사용하는 서버
모든 코드는 스프링 부트와 함께 사라질 수 있습니다. 우리는 자동적으로'ehcache.xml'을 탐지하고 그것을 설정합니다. '@ EnableCaching' 만 필요합니다. 액츄에이터를 가지고 있다면'/ metrics'에 각 캐시에 대한 통계를 수출합니다. –
확인하고 사용자가 로그하려고 할 때 내 캐시를 사용하는 방법은 무엇입니까? –
아, 이제 문제가 생깁니다. 추측 하건데 Hibernate의 2 차 캐시를 활성화하려고합니다. 최대 절전 모드 문서를 읽거나 질문을 다시 말해야 할 것입니다. 왜냐하면 그렇게하지 않을 것이기 때문입니다. Spring의 캐시 추상화를 구성하는 부분은 무엇입니까? [doc 문서 확인] (http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/cache.html) –