Java 使用spring的Apache Ignite mongo配置
我将在我们的应用程序中引入ApacheIgnite作为缓存系统以及用于计算。我已经使用以下配置类配置了spring应用程序Java 使用spring的Apache Ignite mongo配置,java,spring,spring-mvc,ignite,Java,Spring,Spring Mvc,Ignite,我将在我们的应用程序中引入ApacheIgnite作为缓存系统以及用于计算。我已经使用以下配置类配置了spring应用程序 @Configuration @EnableCaching public class IgniteConfig { @Value("${ignite.config.path}") private String ignitePath; @Bean(name="cacheManager") public SpringCacheManager
@Configuration
@EnableCaching
public class IgniteConfig {
@Value("${ignite.config.path}")
private String ignitePath;
@Bean(name="cacheManager")
public SpringCacheManager cacheManager(){
SpringCacheManager springCacheManager = new SpringCacheManager();
springCacheManager.setConfigurationPath(ignitePath);
return springCacheManager;
}
}
像这样使用它
@Override
@Cacheable("cache1")
public List<Channel> getAllChannels(){
List<Channel> list = new ArrayList<Channel>();
Channel c1 = new Channel("1",1);
Channel c2 = new Channel("2",2);
Channel c3 = new Channel("3",3);
Channel c4 = new Channel("4",4);
list.add(c1);
list.add(c2);
list.add(c3);
list.add(c4);
return list;
}
通过实现
CacheStore
接口,您可以拥有任何类型的备份数据库:
通过实现
CacheStore
接口,您可以拥有任何类型的备份数据库:
您是否尝试过设置密钥生成器 @CacheConfig(cacheNames=“cache1”,keyGenerator=“simpleKeyGenerator”)
您是否尝试过设置密钥生成器 @CacheConfig(cacheNames=“cache1”,keyGenerator=“simpleKeyGenerator”)
因此,在下面的代码行中,您已经分享了
@Cacheable("cache1")
public List<Channel> getAllChannels(){
@Cacheable(“cache1”)
公共列表GetAllChannel(){
@Cacheable注释正在一个不接受任何参数的方法上使用。Spring cache使用这些参数(如果是基本数据类型)作为缓存的键(response obj作为值)。我相信这会使缓存无效。因此,在下面您共享的代码行中
@Cacheable("cache1")
public List<Channel> getAllChannels(){
@Cacheable(“cache1”)
公共列表GetAllChannel(){
@Cacheable注释正在一个不接受任何参数的方法上使用。Spring cache使用这些参数(如果是基本数据类型)作为缓存的键(response obj作为值)。我认为这会使缓存无效。我认为这完全取决于您使用的缓存键。我认为这完全取决于您使用的缓存键
java.lang.ClassCastException: org.springframework.cache.interceptor.SimpleKey cannot be cast to java.lang.Long
at in.per.amt.ignite.cache.ChannelCacheStore.load(ChannelCacheStore.java:19)
@Cacheable("cache1")
public List<Channel> getAllChannels(){