我想转换我们现有的缓存(的Ehcache)点燃缓存,并迁移到Spring注解。我遇到了一些困难,使注解与我们现有的缓存一样工作 - 我们现有的缓存是自动创建的,只要我们缓存某个新类的某些内容,并且新缓存与对象的类名称相同。
所有当前的缓存逻辑(以及大多数正常的CRUD操作逻辑)都位于抽象类中,该类为所有持久对象进行了扩展。然而,在研究Spring注释时,似乎需要在方法上定义缓存名称 - 这显然不适用于抽象类,除非我想让所有的对象都在同一个缓存中(可能但绝对不会理想)。理想情况下,我会将缓存名称指定为“#this.class.toString”,但不允许在缓存名称中使用SPEL,就像它在密钥中一样。
似乎动态解析缓存的唯一方法是创建自己的缓存解析器,但出于某种原因,IgniteCache并未扩展springframework缓存,而是javax缓存,并且缓存解析器必须返回前者。所以我甚至不清楚Ignite缓存如何与Spring注释一起工作?
这对我来说似乎是一个非常简单的用例,所以它似乎很奇怪,春天的注释迫使我提供一个明确的名字的方法,当我假设大多数应用程序的任何显着大小抽象其持久性方法,我觉得我一定错过了一些关键的文档,但我肯定找不到它。有没有一种方法可以在具体实现中指定缓存的名称,但在抽象方法上保留缓存注释?
谢谢!
你使用Spring注释与EhCache?如果是的话,它是如何工作的?如果不是,首先使用它们的原因是什么?为什么不直接使用Ignite API? –