@CachePut不更新缓存

时间:2019-03-11 09:14:41

标签: spring-boot

我想缓存<Link to={"/listDetail/" + id}>my list detail id : {id}</Link> 方法并更新getText上的缓存。到目前为止,setText方法上的缓存有效,但是我无法更新值。下面的代码基于Hazelcast的教程。

getText

如何改进上面的代码以使@Service public class SlowService { String text = "Initial value"; @Cacheable("text") public String getText() { try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } return text; } @CachePut(value = "text", key = "#newText + 1") public String setText(String newText) { text = newText; return text; } } 注释起作用?

编辑: 尝试添加相同的键:

@CachePut

但是得到:

  

java.lang.IllegalArgumentException:为缓存返回了空键   操作(也许您在没有调试的类上使用了命名参数   信息?)生成器[public java.lang.String   com.example.demo.SlowService.getText()]缓存= [文本] | key ='#someKey'   | keyGenerator =''| | cacheManager =''| | cacheResolver =''|条件=''   |除非=''| sync ='false'

0 个答案:

没有答案