Обратите внимание, что в спецификации JCache не указаны все конфигурации, которые применяются к отдельным поставщикам кэша, с точки зрения настройки через CacheManager для создания Grid. Требование создания CacheManager является стандартным, но не все, что связано с настройкой самого менеджера.
После кода будет показано, как создать сетку с помощью Apache Воспламенение в SpringBoot
@Bean
@SuppressWarnings("unchecked")
public org.apache.ignite.cache.spring.SpringCacheManager cacheManager() {
IgniteConfiguration igniteConfiguration = new IgniteConfiguration();
igniteConfiguration.setGridName("petclinic-ignite-grid");
//igniteConfiguration.setClassLoader(dynamicClassLoaderWrapper());
igniteConfiguration.setCacheConfiguration(this.createDefaultCache("petclinic"),
this.createDefaultCache("org.hibernate.cache.spi.UpdateTimestampsCache"),
this.createDefaultCache("org.hibernate.cache.internal.StandardQueryCache"));
SpringCacheManager springCacheManager = new SpringCacheManager();
springCacheManager.setConfiguration(igniteConfiguration);
springCacheManager.setDynamicCacheConfiguration(this.createDefaultCache(null));
return springCacheManager;
}
private org.apache.ignite.configuration.CacheConfiguration createDefaultCache(String name) {
org.apache.ignite.configuration.CacheConfiguration cacheConfiguration = new org.apache.ignite.configuration.CacheConfiguration();
cacheConfiguration.setName(name);
cacheConfiguration.setCacheMode(CacheMode.PARTITIONED);
cacheConfiguration.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
cacheConfiguration.setWriteSynchronizationMode(CacheWriteSynchronizationMode.FULL_SYNC);
cacheConfiguration.setStatisticsEnabled(true);
cacheConfiguration.setEvictSynchronized(true);
return cacheConfiguration;
}
}
Если бы мы должны были создать еще один экземпляр этой службы и иметь его зарегистрировать в той же сетке, как igniteConfiguration.setGridName ("petclinic -ignite-grid "), будет создан IMDG. Обратите внимание, что 2 экземпляра службы с этой версией разделенного, встроенного распределенного кеша должны иметь возможность разговаривать друг с другом через необходимые ПОРТЫ. Пожалуйста, обратитесь к Apache Ignite - Data Grid за более подробной информацией.
Надеюсь, это поможет.
Я знаю, что вы можете использовать конфигурацию, зависящую от Ignite, при создании кеша через JCache, но я не вижу, как вы можете настроить соответствующие материалы, такие как сетка и SPI обнаружения. Короче говоря, мне не удалось создать кеш JCache, который существует в нескольких узлах. – PeakCode
@PeakCode Получил это. Я обновил свой ответ. –