SGF-543 - Register the DiskStoreDirectoryBeanPostProcessor for the new Annotation config model.
This commit is contained in:
@@ -50,6 +50,7 @@ import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.data.gemfire.CacheFactoryBean;
|
||||
import org.springframework.data.gemfire.config.support.CustomEditorBeanFactoryPostProcessor;
|
||||
import org.springframework.data.gemfire.config.support.DefinedIndexesApplicationListener;
|
||||
import org.springframework.data.gemfire.config.support.DiskStoreDirectoryBeanPostProcessor;
|
||||
import org.springframework.data.gemfire.util.PropertiesBuilder;
|
||||
import org.springframework.util.Assert;
|
||||
import org.springframework.util.StringUtils;
|
||||
@@ -81,6 +82,7 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
||||
|
||||
private static final AtomicBoolean CUSTOM_EDITORS_REGISTERED = new AtomicBoolean(false);
|
||||
private static final AtomicBoolean DEFINED_INDEXES_APPLICATION_LISTENER_REGISTERED = new AtomicBoolean(false);
|
||||
private static final AtomicBoolean DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED = new AtomicBoolean(false);
|
||||
|
||||
protected static final boolean DEFAULT_CLOSE = true;
|
||||
protected static final boolean DEFAULT_COPY_ON_READ = false;
|
||||
@@ -256,6 +258,7 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
||||
protected void configureInfrastructure(AnnotationMetadata importMetadata) {
|
||||
registerCustomEditorBeanFactoryPostProcessor();
|
||||
registerDefinedIndexesApplicationListener();
|
||||
registerDiskStoreDirectoryBeanPostProcessor();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -328,22 +331,24 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
||||
/* (non-Javadoc) */
|
||||
protected void registerCustomEditorBeanFactoryPostProcessor() {
|
||||
if (CUSTOM_EDITORS_REGISTERED.compareAndSet(false, true)) {
|
||||
BeanDefinitionBuilder customEditorBeanFactoryPostProcessor =
|
||||
BeanDefinitionBuilder.rootBeanDefinition(CustomEditorBeanFactoryPostProcessor.class);
|
||||
|
||||
customEditorBeanFactoryPostProcessor.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
|
||||
register(customEditorBeanFactoryPostProcessor.getBeanDefinition());
|
||||
register(BeanDefinitionBuilder.rootBeanDefinition(CustomEditorBeanFactoryPostProcessor.class)
|
||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||
}
|
||||
}
|
||||
|
||||
/* (non-Javadoc) */
|
||||
protected void registerDefinedIndexesApplicationListener() {
|
||||
if (DEFINED_INDEXES_APPLICATION_LISTENER_REGISTERED.compareAndSet(false, true)) {
|
||||
BeanDefinitionBuilder definedIndexesApplicationListener =
|
||||
BeanDefinitionBuilder.rootBeanDefinition(DefinedIndexesApplicationListener.class);
|
||||
register(BeanDefinitionBuilder.rootBeanDefinition(DefinedIndexesApplicationListener.class)
|
||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||
}
|
||||
}
|
||||
|
||||
definedIndexesApplicationListener.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
|
||||
register(definedIndexesApplicationListener.getBeanDefinition());
|
||||
/* (non-Javadoc) */
|
||||
protected void registerDiskStoreDirectoryBeanPostProcessor() {
|
||||
if (DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED.compareAndSet(false, true)) {
|
||||
register(BeanDefinitionBuilder.rootBeanDefinition(DiskStoreDirectoryBeanPostProcessor.class)
|
||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.util.Assert;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
|
||||
/**
|
||||
* The {@link DiskStoreBeanPostProcessor} processes any GemFire {@link com.gemstone.gemfire.cache.DiskStore},
|
||||
* The {@link DiskStoreDirectoryBeanPostProcessor} processes any GemFire {@link com.gemstone.gemfire.cache.DiskStore},
|
||||
* {@link DiskDir} Spring beans defined in the application context to ensure that the directory actually exists
|
||||
* before creating the {@link com.gemstone.gemfire.cache.DiskStore}.
|
||||
*
|
||||
@@ -38,7 +38,7 @@ import org.springframework.util.ObjectUtils;
|
||||
* @since 1.5.0
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class DiskStoreBeanPostProcessor implements BeanPostProcessor {
|
||||
public class DiskStoreDirectoryBeanPostProcessor implements BeanPostProcessor {
|
||||
|
||||
protected final Log log = LogFactory.getLog(getClass());
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
|
||||
import org.springframework.beans.factory.xml.ParserContext;
|
||||
import org.springframework.data.gemfire.DiskStoreFactoryBean;
|
||||
import org.springframework.data.gemfire.DiskStoreFactoryBean.DiskDir;
|
||||
import org.springframework.data.gemfire.config.support.DiskStoreBeanPostProcessor;
|
||||
import org.springframework.data.gemfire.config.support.DiskStoreDirectoryBeanPostProcessor;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.xml.DomUtils;
|
||||
import org.w3c.dom.Element;
|
||||
@@ -46,10 +46,10 @@ class DiskStoreParser extends AbstractSingleBeanDefinitionParser {
|
||||
private static final AtomicBoolean REGISTERED = new AtomicBoolean(false);
|
||||
|
||||
/* (non-Javadoc) */
|
||||
private static void registerDiskStoreBeanPostProcessor(ParserContext parserContext) {
|
||||
private static void registerDiskStoreDirectoryBeanPostProcessor(ParserContext parserContext) {
|
||||
if (REGISTERED.compareAndSet(false, true)) {
|
||||
AbstractBeanDefinition diskStoreBeanPostProcessor = BeanDefinitionBuilder
|
||||
.rootBeanDefinition(DiskStoreBeanPostProcessor.class)
|
||||
.rootBeanDefinition(DiskStoreDirectoryBeanPostProcessor.class)
|
||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
.getBeanDefinition();
|
||||
|
||||
@@ -73,7 +73,7 @@ class DiskStoreParser extends AbstractSingleBeanDefinitionParser {
|
||||
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
|
||||
super.doParse(element, parserContext, builder);
|
||||
|
||||
registerDiskStoreBeanPostProcessor(parserContext);
|
||||
registerDiskStoreDirectoryBeanPostProcessor(parserContext);
|
||||
|
||||
builder.setLazyInit(false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user