У меня есть такой ehcache xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" />
<cache name="oddscache"
maxElementsInMemory="1000"
timeToIdleSeconds="5"
timeToLiveSeconds="5"
overflowToDisk="false"
memoryStoreEvictionPolicy="LRU" />
</ehcache>
</xml>
и мой метод:
@Override
@Cacheable("oddscache")
public void cacheOdds(String id) {
String url = "https://api.betsapi.com/v1/bet365/start_sp?token="+ token +"&FI="+id;
System.err.println("This method is executed !!");
String val = restTemplate.getForObject(url, String.class);
System.err.println(val);
Конечно, метод будет выполнен один раз, и последующие вызовы просто вернут значения из кэша,Но похоже, что после истечения срока действия кэша (в данном случае 5 секунд) метод все еще не выполняется, а просто возвращает значения из кэша.