으로 Ehcache 봄 부팅 설정이 작동하지 timetoliveseconds

Niraj Sonawane :

다음은 내으로 Ehcache 구성 파일입니다

<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" />



    <cache name="trans"
        maxEntriesLocalHeap="10000"
        maxEntriesLocalDisk="1000"
        eternal="false"
        diskSpoolBufferSizeMB="20"
        timeToIdleSeconds="0"
        timeToLiveSeconds="6"
        memoryStoreEvictionPolicy="LFU"
        transactionalMode="off">
        <persistence strategy="localTempSwap" />
    </cache>    
</ehcache>

모든 봄 주석과 구성이 제대로 작동

@Component
@CacheConfig(cacheNames = {"trans" })
public class MyTransService {

    private List<Trans> list;

    @Autowired
    private EhCacheCacheManager manage;

    @PostConstruct
    public void setup() {
        list = new ArrayList<>();
    }

    @CachePut
    public void addTransaction(Trans trans) {
        this.list.add(trans);
    }

    @CacheEvict(allEntries = true)
    public void deleteAll() {
        this.list.clear();
    }    
}

그러나 캐시는 이후 명확 못하고있다 timetoliveseconds .

캔 누군가의 도움이 나를 내 설정에서 잘못 뭐죠.

페이지 아래에의 버그가 있지만 확인하는 방법이 문제를 해결 할 수 있다고?
나는 스프링 부팅 스타터 캐시 2.0.3 버전을 사용하고 있습니다

https://github.com/ehcache/ehcache-jcache/issues/26

거기에 몇 가지 비슷한 질문을하지만 어떤 솔루션을 제공하지

Niraj Sonawane :

이 사용으로 Ehcache-JSR-107 래퍼를 해결할 수 있었다. 다음은 자바 설정입니다

@Component
public class CachingSetup implements JCacheManagerCustomizer {

     @Override
     public void customize(CacheManager cacheManager)
     {
       cacheManager.createCache("trans", new MutableConfiguration<>()
         .setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(SECONDS, 10)))
         .setStoreByValue(false)
         .setStatisticsEnabled(true));
     }
}

폼은

<dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-cache</artifactId> <!--Starter for using Spring Framework's caching support-->
        </dependency>           
        <dependency>
          <groupId>javax.cache</groupId> <!-- JSR-107 API-->
          <artifactId>cache-api</artifactId>
        </dependency>
        <dependency>
          <groupId>org.ehcache</groupId>
          <artifactId>ehcache</artifactId>
          <version>3.0.0</version>
        </dependency>
    </dependencies>

추천

출처http://43.154.161.224:23101/article/api/json?id=202184&siteId=1