Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用spring的Apache Ignite mongo配置_Java_Spring_Spring Mvc_Ignite - Fatal编程技术网

Java 使用spring的Apache Ignite mongo配置

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

我将在我们的应用程序中引入ApacheIgnite作为缓存系统以及用于计算。我已经使用以下配置类配置了spring应用程序

@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(){