找不到 hazelcast 中命名的缓存

问题描述 投票:0回答:1

我正在使用 hazelcast 版本 5.1.5,当我在方法之上使用 spring @Cacheable("cache_name") 时,当我调用方法时,会抛出异常。

java.lang.IllegalArgumentException:无法找到名为“cache_name”的缓存生成器[public java.util.List com.danial.user.management.service.UserService.getAllEntities2()]键=''|密钥生成器='' |缓存管理器='' |缓存解析器='' |条件='' |除非=''|同步='假';

这是我的 hazelcast 配置:

@Configuration
public class HazelcastConfig implements Serializable {

    @Value("${spring.application.name}")
    private String appName;

    @Bean
    public Config CacheConfig() {
        Config config = new Config();

        config.setInstanceName("hazelcast_mwga_cluster");

        config.getNetworkConfig().getJoin().getTcpIpConfig()
                .addMember("172.16.20.113")
                .setEnabled(true);


        // Configure a Hazelcast instance for each map.
        config.addMapConfig(createMapConfig("cache_name"));
        return config;

    }

    @Bean
    public HazelcastInstance hazelcastInstance() throws IllegalAccessException {
        return HazelcastClient.newHazelcastClient(createClientConfig());
    }

    private ClientConfig createClientConfig() throws IllegalAccessException {
        ClientConfig clientConfig = new ClientConfig();
        clientConfig.setClusterName("hazelcast_mwga_cluster");
        clientConfig.setInstanceName("hazelcast_mwga_cluster");
        clientConfig.addNearCacheConfig(createNearCacheConfig());
        return clientConfig;
    }

    private NearCacheConfig createNearCacheConfig() {

        NearCacheConfig nearCacheConfig = new NearCacheConfig();
        nearCacheConfig.setInvalidateOnChange(true);
        nearCacheConfig.setInMemoryFormat(InMemoryFormat.OBJECT);
        return nearCacheConfig;
    }

    private MapConfig createMapConfig(String name) {
        MapConfig mapConfig = new MapConfig(name);
        //do the special config here
        NearCacheConfig nearCacheConfig = new NearCacheConfig();
        nearCacheConfig.setInMemoryFormat(InMemoryFormat.OBJECT);
        nearCacheConfig.setInvalidateOnChange(true);
        nearCacheConfig.setEvictionConfig(new EvictionConfig());
        mapConfig.setNearCacheConfig(nearCacheConfig);

        return mapConfig;
    }
}
spring caching hazelcast
1个回答
0
投票

可能是缓存类型。听起来 Spring 正在寻找名为 cache_name

ICache
,并且您已经使用该名称创建了一个 IMap

检查这个问题,它相似但不完全重复。

© www.soinside.com 2019 - 2024. All rights reserved.