SGF-544 - Register the PdxDiskStoreAwareBeanFactoryPostProcessor for the new Annotation config model.
(cherry picked from commit 70fa3a51f763c41879613e0648cba1c6ce0a54e3) Signed-off-by: John Blum <jblum@pivotal.io>
This commit is contained in:
@@ -51,6 +51,7 @@ import org.springframework.data.gemfire.CacheFactoryBean;
|
|||||||
import org.springframework.data.gemfire.config.support.CustomEditorBeanFactoryPostProcessor;
|
import org.springframework.data.gemfire.config.support.CustomEditorBeanFactoryPostProcessor;
|
||||||
import org.springframework.data.gemfire.config.support.DefinedIndexesApplicationListener;
|
import org.springframework.data.gemfire.config.support.DefinedIndexesApplicationListener;
|
||||||
import org.springframework.data.gemfire.config.support.DiskStoreDirectoryBeanPostProcessor;
|
import org.springframework.data.gemfire.config.support.DiskStoreDirectoryBeanPostProcessor;
|
||||||
|
import org.springframework.data.gemfire.config.support.PdxDiskStoreAwareBeanFactoryPostProcessor;
|
||||||
import org.springframework.data.gemfire.util.PropertiesBuilder;
|
import org.springframework.data.gemfire.util.PropertiesBuilder;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.util.StringUtils;
|
import org.springframework.util.StringUtils;
|
||||||
@@ -83,6 +84,8 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
|||||||
private static final AtomicBoolean CUSTOM_EDITORS_REGISTERED = new AtomicBoolean(false);
|
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 DEFINED_INDEXES_APPLICATION_LISTENER_REGISTERED = new AtomicBoolean(false);
|
||||||
private static final AtomicBoolean DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED = new AtomicBoolean(false);
|
private static final AtomicBoolean DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED = new AtomicBoolean(false);
|
||||||
|
private static final AtomicBoolean PDX_DISK_STORE_AWARE_BEAN_FACTORY_POST_PROCESSOR_REGISTERED =
|
||||||
|
new AtomicBoolean(false);
|
||||||
|
|
||||||
protected static final boolean DEFAULT_CLOSE = true;
|
protected static final boolean DEFAULT_CLOSE = true;
|
||||||
protected static final boolean DEFAULT_COPY_ON_READ = false;
|
protected static final boolean DEFAULT_COPY_ON_READ = false;
|
||||||
@@ -256,9 +259,10 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
|||||||
* @see org.springframework.core.type.AnnotationMetadata
|
* @see org.springframework.core.type.AnnotationMetadata
|
||||||
*/
|
*/
|
||||||
protected void configureInfrastructure(AnnotationMetadata importMetadata) {
|
protected void configureInfrastructure(AnnotationMetadata importMetadata) {
|
||||||
registerCustomEditorBeanFactoryPostProcessor();
|
registerCustomEditorBeanFactoryPostProcessor(importMetadata);
|
||||||
registerDefinedIndexesApplicationListener();
|
registerDefinedIndexesApplicationListener(importMetadata);
|
||||||
registerDiskStoreDirectoryBeanPostProcessor();
|
registerDiskStoreDirectoryBeanPostProcessor(importMetadata);
|
||||||
|
registerPdxDiskStoreAwareBeanFactoryPostProcessor(importMetadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -329,7 +333,7 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc) */
|
/* (non-Javadoc) */
|
||||||
protected void registerCustomEditorBeanFactoryPostProcessor() {
|
protected void registerCustomEditorBeanFactoryPostProcessor(AnnotationMetadata importMetadata) {
|
||||||
if (CUSTOM_EDITORS_REGISTERED.compareAndSet(false, true)) {
|
if (CUSTOM_EDITORS_REGISTERED.compareAndSet(false, true)) {
|
||||||
register(BeanDefinitionBuilder.rootBeanDefinition(CustomEditorBeanFactoryPostProcessor.class)
|
register(BeanDefinitionBuilder.rootBeanDefinition(CustomEditorBeanFactoryPostProcessor.class)
|
||||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||||
@@ -337,7 +341,7 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc) */
|
/* (non-Javadoc) */
|
||||||
protected void registerDefinedIndexesApplicationListener() {
|
protected void registerDefinedIndexesApplicationListener(AnnotationMetadata importMetadata) {
|
||||||
if (DEFINED_INDEXES_APPLICATION_LISTENER_REGISTERED.compareAndSet(false, true)) {
|
if (DEFINED_INDEXES_APPLICATION_LISTENER_REGISTERED.compareAndSet(false, true)) {
|
||||||
register(BeanDefinitionBuilder.rootBeanDefinition(DefinedIndexesApplicationListener.class)
|
register(BeanDefinitionBuilder.rootBeanDefinition(DefinedIndexesApplicationListener.class)
|
||||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||||
@@ -345,13 +349,21 @@ public abstract class AbstractCacheConfiguration implements BeanFactoryAware, Be
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc) */
|
/* (non-Javadoc) */
|
||||||
protected void registerDiskStoreDirectoryBeanPostProcessor() {
|
protected void registerDiskStoreDirectoryBeanPostProcessor(AnnotationMetadata importMetadata) {
|
||||||
if (DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED.compareAndSet(false, true)) {
|
if (DISK_STORE_DIRECTORY_BEAN_POST_PROCESSOR_REGISTERED.compareAndSet(false, true)) {
|
||||||
register(BeanDefinitionBuilder.rootBeanDefinition(DiskStoreDirectoryBeanPostProcessor.class)
|
register(BeanDefinitionBuilder.rootBeanDefinition(DiskStoreDirectoryBeanPostProcessor.class)
|
||||||
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc) */
|
||||||
|
protected void registerPdxDiskStoreAwareBeanFactoryPostProcessor(AnnotationMetadata importMetadata) {
|
||||||
|
if (PDX_DISK_STORE_AWARE_BEAN_FACTORY_POST_PROCESSOR_REGISTERED.compareAndSet(false, true)) {
|
||||||
|
register(BeanDefinitionBuilder.rootBeanDefinition(PdxDiskStoreAwareBeanFactoryPostProcessor.class)
|
||||||
|
.setRole(BeanDefinition.ROLE_INFRASTRUCTURE).getBeanDefinition());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers the given {@link BeanDefinition} with the {@link BeanDefinitionRegistry} using a generated bean name.
|
* Registers the given {@link BeanDefinition} with the {@link BeanDefinitionRegistry} using a generated bean name.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user