Adapt to API changes in Spring Data for Apache Geode.

This commit is contained in:
John Blum
2022-09-23 19:10:15 -07:00
parent a491713a04
commit 486f9ac2ad
6 changed files with 25 additions and 22 deletions

View File

@@ -17,6 +17,9 @@ package org.springframework.geode.config.annotation;
import java.util.Properties;
import org.apache.geode.cache.Cache;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.event.ContextRefreshedEvent;
@@ -46,9 +49,11 @@ public class SecurityManagerProxyConfiguration implements ApplicationListener<Co
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
ApplicationContext applicationContext = event.getApplicationContext();
SecurityManagerProxy securityManagerProxy = SecurityManagerProxy.getInstance();
securityManagerProxy.setBeanFactory(event.getApplicationContext().getAutowireCapableBeanFactory());
securityManagerProxy.init(new Properties());
securityManagerProxy.setBeanFactory(applicationContext.getAutowireCapableBeanFactory());
securityManagerProxy.initialize(applicationContext.getBean(Cache.class), new Properties());
}
}

View File

@@ -22,6 +22,8 @@ import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -38,15 +40,12 @@ import org.springframework.context.annotation.ScopeMetadataResolver;
import org.springframework.context.support.AbstractRefreshableConfigApplicationContext;
import org.springframework.data.gemfire.config.annotation.PeerCacheApplication;
import org.springframework.data.gemfire.util.ArrayUtils;
import org.springframework.data.gemfire.util.SpringUtils;
import org.springframework.geode.core.util.SpringExtensions;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* A {@literal refreshable} {@link ApplicationContext} capable of loading {@link Class component classes} used for
* {@link Annotation} based configuration in addition to scanning {@link String configuration locations}, and then
@@ -314,7 +313,7 @@ public class RefreshableAnnotationConfigApplicationContext extends AbstractRefre
*/
@Override
protected void prepareRefresh() {
this.beanFactory = (DefaultListableBeanFactory) SpringUtils.safeGetValue(this::getBeanFactory);
this.beanFactory = (DefaultListableBeanFactory) SpringExtensions.safeGetValue(this::getBeanFactory);
super.prepareRefresh();
}

View File

@@ -34,10 +34,11 @@ import org.springframework.util.StringUtils;
* @see org.springframework.beans.factory.config.BeanDefinition
* @see org.springframework.beans.factory.support.BeanDefinitionRegistry
* @see org.springframework.context.ApplicationContext
* @see org.springframework.data.gemfire.util.SpringExtensions
* @since 1.6.0
*/
@SuppressWarnings("unused")
public abstract class SpringExtensions {
public abstract class SpringExtensions extends org.springframework.data.gemfire.util.SpringExtensions {
public static final String BEAN_DEFINITION_METADATA_JSON = "{\n"
+ "\t'beanName': '%1$s',%n"

View File

@@ -171,6 +171,11 @@ public class SecurityManagerProxy extends LazyWiringDeclarableSupport
INSTANCE.set(null);
}
@Override
public void init(Properties props) {
super.init(props);
}
@Override
protected BeanFactory locateBeanFactory() {
return this.beanFactory != null ? this.beanFactory : super.locateBeanFactory();