fix review.

pull/1779/head
shedfreewu 2 months ago
parent fedf48f50b
commit c5b1e8e4e4

@ -105,7 +105,19 @@ public class ServiceInstanceChangeCallbackManager implements ApplicationListener
if (clz.isAnnotationPresent(ServiceInstanceChangeListener.class)) {
ServiceInstanceChangeListener serviceInstanceChangeListener = clz.getAnnotation(ServiceInstanceChangeListener.class);
serviceName = serviceInstanceChangeListener.serviceName();
serviceName = environment.resolvePlaceholders(serviceName);
String message = null;
try {
serviceName = environment.resolveRequiredPlaceholders(serviceName);
}
catch (Exception e) {
// resolve failed, reset service name.
message = e.getMessage();
serviceName = null;
}
if (StringUtils.isBlank(serviceName)) {
LOG.warn("resolve service name failed, bean name:{}, config service name:{}, message:{}",
beanName, serviceInstanceChangeListener.serviceName(), message);
}
}
if (StringUtils.isBlank(serviceName)) {

@ -63,6 +63,8 @@ public class ServiceInstanceChangeCallbackTest {
// Verify
assertThat(callbackMap.containsKey("java_provider_test")).isTrue();
assertThat(callbackMap.containsKey("QuickstartCalleeService")).isTrue();
// ignore error and empty
assertThat(callbackMap.size()).isEqualTo(2);
}
catch (Exception e) {
@ -83,6 +85,21 @@ public class ServiceInstanceChangeCallbackTest {
return new CalleeServiceChangeCallback();
}
@Bean
public ErrorServiceChangeCallback errorServiceChangeCallback() {
return new ErrorServiceChangeCallback();
}
@Bean
public EmptyServiceChangeCallback emptyServiceChangeCallback() {
return new EmptyServiceChangeCallback();
}
@Bean
public ParsingEmptyServiceChangeCallback parseEmptyServiceChangeCallback() {
return new ParsingEmptyServiceChangeCallback();
}
@Bean
public TestBeanPostProcessor testBeanPostProcessor() {
return new TestBeanPostProcessor();
@ -99,6 +116,33 @@ public class ServiceInstanceChangeCallbackTest {
}
}
@ServiceInstanceChangeListener(serviceName = "${error.name}")
static class ErrorServiceChangeCallback implements ServiceInstanceChangeCallback {
@Override
public void callback(List<Instance> currentServiceInstances, List<Instance> addServiceInstances, List<Instance> deleteServiceInstances) {
}
}
@ServiceInstanceChangeListener(serviceName = "${test.empty}")
static class ParsingEmptyServiceChangeCallback implements ServiceInstanceChangeCallback {
@Override
public void callback(List<Instance> currentServiceInstances, List<Instance> addServiceInstances, List<Instance> deleteServiceInstances) {
}
}
@ServiceInstanceChangeListener(serviceName = "")
static class EmptyServiceChangeCallback implements ServiceInstanceChangeCallback {
@Override
public void callback(List<Instance> currentServiceInstances, List<Instance> addServiceInstances, List<Instance> deleteServiceInstances) {
}
}
@ServiceInstanceChangeListener(serviceName = "QuickstartCalleeService")
static class CalleeServiceChangeCallback implements ServiceInstanceChangeCallback {

@ -32,3 +32,5 @@ spring:
username: nacos
password: nacos
cluster-name: polaris
test:
empty:
Loading…
Cancel
Save