title: caffeine Cache is not evicted after expireAfterAccess/expireAfterWrite
body: <p><strong>My configuration:</strong></p>
  <pre><code>@Bean
  public CaffeineCacheManager cacheManager() {
      return new CaffeineCacheManager();
  }
  
  @Bean
  public CaffeineCache testCache() {
      return new CaffeineCache(&quot;test_cache&quot;,
              Caffeine.newBuilder()
                      .maximumSize(10000)
                      .expireAfterAccess(30, TimeUnit.SECONDS)
                      .expireAfterWrite(30, TimeUnit.SECONDS)
                      .recordStats()
                      .build());
  }
  </code></pre>
  <p><strong>test code:</strong>(read cache 3 times in a row with 45 seconds pause between reads)</p>
  <pre><code>static int value = 1;
      ...
  
      Cache testCache = cacheManager.getCache(&quot;test_cache&quot;);
      System.out.println(&quot;read &quot; + testCache.get(&quot;myKey&quot;, () -&gt; value++));
      try {
          Thread.sleep(45000);
      } catch (InterruptedException e) {
          e.printStackTrace();
      }
      System.out.println(&quot;read &quot; + testCache.get(&quot;myKey&quot;, () -&gt; value++));
      try {
          Thread.sleep(45000);
      } catch (InterruptedException e) {
          e.printStackTrace();
      }
      System.out.println(&quot;read &quot; + testCache.get(&quot;myKey&quot;, () -&gt; value++));
  </code></pre>
  <p><strong>Actual result:</strong></p>
  <pre><code>read 1
  read 1
  read 1
  </code></pre>
  <p><strong>Expected result:</strong> Cache is evicted after 30 seconds:</p>
  <pre><code>read 1
  read 2
  read 3
  </code></pre>
  <p>What do I wrong ?</p>
  <p>How to fix ?</p>