@Test void should_be_set_availabilityZone_using_clientConfig_when_not_exists_property() { final String[] zones = {"zone1", "zone2"}; doReturn("region").when(eurekaClientConfigBean).getRegion(); doReturn(zones).when(eurekaClientConfigBean).getAvailabilityZones("region"); assertThat(processor.postProcessAfterInitialization(eurekaInstanceConfigBean, "beanName")) .isEqualTo(eurekaInstanceConfigBean); final AmazonInfo dataCenterInfo = (AmazonInfo) eurekaInstanceConfigBean.getDataCenterInfo(); assertThat(dataCenterInfo.getMetadata()).containsEntry("availability-zone", zones[0]); }
@Override public Object postProcessAfterInitialization(final Object bean, final String beanName) { if (!isAssignableValue(EurekaInstanceConfigBean.class, bean)) { return bean; } final EurekaInstanceConfigBean config = (EurekaInstanceConfigBean) bean; if (isAmazonDataCenter(config)) { return bean; } final AmazonInfo amazonInfo = createAmazonInfo(config); config.setDataCenterInfo(amazonInfo); LOGGER.warn("DataCenter changed. {}", amazonInfo); return bean; }
EVCacheServerEurekaInstanceConfigBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) { if (!isAssignableValue(EurekaInstanceConfigBean.class, bean)) { return bean; } final EurekaInstanceConfigBean config = (EurekaInstanceConfigBean) bean; if (isAmazonDataCenter(config)) { return bean; } final AmazonInfo amazonInfo = createAmazonInfo(config); config.setDataCenterInfo(amazonInfo); LOGGER.warn("DataCenter changed. {}", amazonInfo); return bean; } }
EVCacheServerEurekaInstanceConfigBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) { if (!isAssignableValue(EurekaInstanceConfigBean.class, bean)) { return bean; } final EurekaInstanceConfigBean config = (EurekaInstanceConfigBean) bean; if (isAmazonDataCenter(config)) { return bean; } final AmazonInfo amazonInfo = createAmazonInfo(config); config.setDataCenterInfo(amazonInfo); LOGGER.warn("DataCenter changed. {}", amazonInfo); return bean; } EVCacheServerEurekaInstanceConfigBeanPostProcessor(final ConfigurableEnvironment environment,
                                                       final EurekaClientConfigBean eurekaClientConfigBean); }
EVCacheServerEurekaInstanceConfigBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) { if (!isAssignableValue(EurekaInstanceConfigBean.class, bean)) { return bean; } final EurekaInstanceConfigBean config = (EurekaInstanceConfigBean) bean; if (isAmazonDataCenter(config)) { return bean; } final AmazonInfo amazonInfo = createAmazonInfo(config); config.setDataCenterInfo(amazonInfo); LOGGER.warn("DataCenter changed. {}", amazonInfo); return bean; } EVCacheServerEurekaInstanceConfigBeanPostProcessor(final ConfigurableEnvironment environment,
                                                       final EurekaClientConfigBean eurekaClientConfigBean); @Override Object postProcessBeforeInitialization(final Object bean, final String beanName); @Override Object postProcessAfterInitialization(final Object bean, final String beanName); }
EVCacheServerEurekaInstanceConfigBeanPostProcessor implements BeanPostProcessor { @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) { if (!isAssignableValue(EurekaInstanceConfigBean.class, bean)) { return bean; } final EurekaInstanceConfigBean config = (EurekaInstanceConfigBean) bean; if (isAmazonDataCenter(config)) { return bean; } final AmazonInfo amazonInfo = createAmazonInfo(config); config.setDataCenterInfo(amazonInfo); LOGGER.warn("DataCenter changed. {}", amazonInfo); return bean; } EVCacheServerEurekaInstanceConfigBeanPostProcessor(final ConfigurableEnvironment environment,
                                                       final EurekaClientConfigBean eurekaClientConfigBean); @Override Object postProcessBeforeInitialization(final Object bean, final String beanName); @Override Object postProcessAfterInitialization(final Object bean, final String beanName);  }