我正在嘗試使用Camel藍(lán)圖實(shí)現(xiàn)Hazelcast緩存。但是我無(wú)法完成,我能夠通過(guò)Java代碼(而不是通過(guò)hazelcast XML配置文件)創(chuàng)建hazelcast實(shí)例。已創(chuàng)建實(shí)例,但是在實(shí)例創(chuàng)建期間未調(diào)用緩存加載器類(lèi)(即使初始化方法為EAGER)。附加了一些代碼片段。讓我知道,如果有人遇到這個(gè)問(wèn)題。代碼:Hazelcast配置public class ConfigHack extends Config {public ConfigHack(String instanceName ){ super(instanceName); System.out.println("Going to create Hazelcast instance ................"+instanceName); TcpIpConfig tcpIpConfig = new TcpIpConfig(); List membersList = new ArrayList<String>(); membersList.add("localhost"); tcpIpConfig.setMembers(membersList); MulticastConfig multicastConfig = new MulticastConfig(); multicastConfig.setEnabled(true); JoinConfig join = new JoinConfig(); join.setTcpIpConfig(tcpIpConfig); join.setMulticastConfig(multicastConfig); NetworkConfig networkConfig = new NetworkConfig(); networkConfig.setPort(5701); networkConfig.setPortAutoIncrement(true); networkConfig.setJoin(join); GroupConfig groupConfig = new GroupConfig(); groupConfig.setName("devuser"); groupConfig.setPassword("devpassword"); MapStoreConfig mapStoreConfig = new MapStoreConfig(); //Absolute path in class name field below mapStoreConfig.setClassName("VehicleCacheLoader"); mapStoreConfig.setImplementation(new VehicleCacheLoader()); mapStoreConfig.setEnabled(true); mapStoreConfig.setInitialLoadMode(InitialLoadMode.EAGER); mapStoreConfig.setWriteDelaySeconds(500); MapConfig mapConfig = new MapConfig(); mapConfig.setName("vehicleMap"); mapConfig.setBackupCount(2); mapConfig.setMaxIdleSeconds(1000000); mapConfig.setEvictionPercentage(30); mapConfig.setEvictionPolicy(EvictionPolicy.LFU); mapConfig.setMapStoreConfig(mapStoreConfig); Map<String,MapConfig> mapConfigs = new HashMap<String,MapConfig>(); mapConfigs.put("vehicleMap", mapConfig); //config.setMapConfigs(mapConfigs); addMapConfig(mapConfig); setGroupConfig(groupConfig); setNetworkConfig(networkConfig); }}
1 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
線
mapConfigs.put("vehicleMap", mapConfig);
定義將用于名稱(chēng)與“ vehicaleMap
”匹配的地圖的配置。
為了創(chuàng)建這樣的地圖,您需要對(duì)其進(jìn)行操作,例如
hazelcastInstance.getMap("vehicleMap");
如果配置為:
mapConfigs.put("vehicleMap*", mapConfig);
當(dāng)您創(chuàng)建名為“ vehicleMap1
”或“ vehicleMap123
”的地圖時(shí),將使用此名稱(chēng)。
該配置定義了將在需要時(shí)使用的配置。直到您第一次訪問(wèn)地圖(創(chuàng)建地圖時(shí))才需要。
此處的“ EAGER ”是指地圖加載器的運(yùn)行方式,而不是指地圖的創(chuàng)建方式。
添加回答
舉報(bào)
0/150
提交
取消