Browse Source

Fixes gh-898.

2.2.x
Olga MaciaszekSharma 3 years ago
parent
commit
f90f11d7b1
  1. 2
      spring-cloud-context/src/main/java/org/springframework/cloud/context/properties/ConfigurationPropertiesRebinder.java
  2. 15
      spring-cloud-context/src/main/java/org/springframework/cloud/util/ProxyUtils.java

2
spring-cloud-context/src/main/java/org/springframework/cloud/context/properties/ConfigurationPropertiesRebinder.java

@ -94,7 +94,7 @@ public class ConfigurationPropertiesRebinder @@ -94,7 +94,7 @@ public class ConfigurationPropertiesRebinder
try {
Object bean = this.applicationContext.getBean(name);
if (AopUtils.isAopProxy(bean)) {
bean = ProxyUtils.getUltimateTargetObject(bean);
bean = ProxyUtils.getTargetObject(bean);
}
if (bean != null) {
// TODO: determine a more general approach to fix this.

15
spring-cloud-context/src/main/java/org/springframework/cloud/util/ProxyUtils.java

@ -31,25 +31,12 @@ public final class ProxyUtils { @@ -31,25 +31,12 @@ public final class ProxyUtils {
@SuppressWarnings("unchecked")
public static <T> T getTargetObject(Object candidate) {
try {
if (AopUtils.isAopProxy(candidate) && (candidate instanceof Advised)) {
return (T) ((Advised) candidate).getTargetSource().getTarget();
}
}
catch (Exception ex) {
throw new IllegalStateException("Failed to unwrap proxied object", ex);
}
return (T) candidate;
}
@SuppressWarnings("unchecked")
public static <T> T getUltimateTargetObject(Object candidate) {
Assert.notNull(candidate, "Candidate must not be null");
try {
if (AopUtils.isAopProxy(candidate) && candidate instanceof Advised) {
Object target = ((Advised) candidate).getTargetSource().getTarget();
if (target != null) {
return (T) getUltimateTargetObject(target);
return (T) getTargetObject(target);
}
}
}

Loading…
Cancel
Save