@Test public void hazelcastCacheWithMainHazelcastAutoConfiguration() throws IOException { Collection<Class<?>> configs = new ArrayList<Class<?>>(); configs.add(DefaultCacheConfiguration.class); configs.add(HazelcastAutoConfiguration.class); String mainConfig = "org/springframework/boot/autoconfigure/hazelcast/hazelcast-specific.xml"; doLoad(configs, "spring.cache.type=hazelcast", "spring.hazelcast.config=" + mainConfig); HazelcastCacheManager cacheManager = validateCacheManager( HazelcastCacheManager.class); HazelcastInstance hazelcastInstance = this.context .getBean(HazelcastInstance.class); assertThat(new DirectFieldAccessor(cacheManager).getPropertyValue( "hazelcastInstance"), equalTo((Object) hazelcastInstance)); assertThat(hazelcastInstance.getConfig().getConfigurationFile(), equalTo(new ClassPathResource(mainConfig).getFile())); }
@Test public void hazelcastCacheWithMainHazelcastAutoConfigurationAndSeparateCacheConfig() throws IOException { Collection<Class<?>> configs = new ArrayList<Class<?>>(); configs.add(DefaultCacheConfiguration.class); configs.add(HazelcastAutoConfiguration.class); String mainConfig = "org/springframework/boot/autoconfigure/hazelcast/hazelcast-specific.xml"; String cacheConfig = "org/springframework/boot/autoconfigure/cache/hazelcast-specific.xml"; doLoad(configs, "spring.cache.type=hazelcast", "spring.cache.hazelcast.config=" + cacheConfig, "spring.hazelcast.config=" + mainConfig); HazelcastInstance hazelcastInstance = this.context .getBean(HazelcastInstance.class); HazelcastCacheManager cacheManager = validateCacheManager( HazelcastCacheManager.class); HazelcastInstance cacheHazelcastInstance = (HazelcastInstance) new DirectFieldAccessor( cacheManager).getPropertyValue("hazelcastInstance"); assertThat(cacheHazelcastInstance, not(hazelcastInstance)); // Our custom assertThat(hazelcastInstance.getConfig().getConfigurationFile(), equalTo(new ClassPathResource(mainConfig).getFile())); assertThat(cacheHazelcastInstance.getConfig().getConfigurationFile(), equalTo(new ClassPathResource(cacheConfig).getFile())); }
private void load(Class<?> config, String... environment) { AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); if (config != null) { applicationContext.register(config); } applicationContext.register(RestTemplateAutoConfiguration.class); applicationContext.register(HazelcastAutoConfiguration.class); applicationContext.register(UtilAutoConfiguration.class); applicationContext.register(AdminServerMarkerConfiguration.class); applicationContext.register(AdminServerHazelcastAutoConfiguration.class); applicationContext.register(AdminServerAutoConfiguration.class); applicationContext.register(AdminServerDiscoveryAutoConfiguration.class); TestPropertyValues.of(environment).applyTo(applicationContext); applicationContext.refresh(); this.context = applicationContext; }