mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-15 12:25:50 +00:00
Use default cache configuration
This commit is contained in:
parent
0c7db646ef
commit
6da37c30d3
2 changed files with 2 additions and 30 deletions
|
@ -1,19 +1,6 @@
|
||||||
package org.springframework.samples.petclinic.system;
|
package org.springframework.samples.petclinic.system;
|
||||||
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
import javax.cache.CacheManager;
|
|
||||||
|
|
||||||
import org.ehcache.config.CacheConfiguration;
|
|
||||||
import org.ehcache.config.builders.CacheConfigurationBuilder;
|
|
||||||
import org.ehcache.config.builders.ResourcePoolsBuilder;
|
|
||||||
import org.ehcache.config.units.EntryUnit;
|
|
||||||
import org.ehcache.expiry.Duration;
|
|
||||||
import org.ehcache.expiry.Expirations;
|
|
||||||
import org.ehcache.jsr107.Eh107Configuration;
|
|
||||||
|
|
||||||
import org.springframework.boot.autoconfigure.cache.JCacheManagerCustomizer;
|
|
||||||
import org.springframework.cache.annotation.EnableCaching;
|
import org.springframework.cache.annotation.EnableCaching;
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
|
|
||||||
|
@ -24,18 +11,4 @@ import org.springframework.context.annotation.Profile;
|
||||||
@EnableCaching
|
@EnableCaching
|
||||||
@Profile("production")
|
@Profile("production")
|
||||||
class CacheConfig {
|
class CacheConfig {
|
||||||
|
|
||||||
@Bean
|
|
||||||
public JCacheManagerCustomizer cacheManagerCustomizer() {
|
|
||||||
return cacheManager -> {
|
|
||||||
CacheConfiguration<Object, Object> config = CacheConfigurationBuilder
|
|
||||||
.newCacheConfigurationBuilder(Object.class, Object.class,
|
|
||||||
ResourcePoolsBuilder.newResourcePoolsBuilder()
|
|
||||||
.heap(100, EntryUnit.ENTRIES))
|
|
||||||
.withExpiry(Expirations.timeToLiveExpiration(Duration.of(60, TimeUnit.SECONDS)))
|
|
||||||
.build();
|
|
||||||
cacheManager.createCache("vets", Eh107Configuration.fromEhcacheCacheConfiguration(config));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,8 +17,7 @@ package org.springframework.samples.petclinic.vet;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import javax.cache.annotation.CacheResult;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
|
|
||||||
import org.springframework.dao.DataAccessException;
|
import org.springframework.dao.DataAccessException;
|
||||||
import org.springframework.data.repository.Repository;
|
import org.springframework.data.repository.Repository;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -40,7 +39,7 @@ public interface VetRepository extends Repository<Vet, Integer> {
|
||||||
* @return a <code>Collection</code> of <code>Vet</code>s
|
* @return a <code>Collection</code> of <code>Vet</code>s
|
||||||
*/
|
*/
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
@CacheResult(cacheName = "vets")
|
@Cacheable("vets")
|
||||||
Collection<Vet> findAll() throws DataAccessException;
|
Collection<Vet> findAll() throws DataAccessException;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue