diff --git a/src/main/java/org/springframework/data/gemfire/RegionAttributesFactory.java b/src/main/java/org/springframework/data/gemfire/RegionAttributesFactory.java index 83bc4417..4394c7ba 100644 --- a/src/main/java/org/springframework/data/gemfire/RegionAttributesFactory.java +++ b/src/main/java/org/springframework/data/gemfire/RegionAttributesFactory.java @@ -44,7 +44,7 @@ public class RegionAttributesFactory extends AttributesFactory implements Factor super.setDiskDirsAndSizes(diskDirs, diskSizes); } else{ - if (ObjectUtils.isEmpty(diskDirs)) { + if (!ObjectUtils.isEmpty(diskDirs)) { super.setDiskDirs(diskDirs); } } diff --git a/src/main/java/org/springframework/data/gemfire/config/ParsingUtils.java b/src/main/java/org/springframework/data/gemfire/config/ParsingUtils.java index 22a3e75b..65992837 100644 --- a/src/main/java/org/springframework/data/gemfire/config/ParsingUtils.java +++ b/src/main/java/org/springframework/data/gemfire/config/ParsingUtils.java @@ -132,11 +132,15 @@ abstract class ParsingUtils { for (Element diskDirElement : list) { locations.add(diskDirElement.getAttribute("location")); - String attr = diskStoreElement.getAttribute("max-size"); + String attr = diskDirElement.getAttribute("max-size"); sizes.add(StringUtils.hasText(attr) ? attr : "10240"); } - beanBuilder.addPropertyValue("diskWriteAttributes", diskDefBuilder.getBeanDefinition()); + // wrap up the disk attributes factory to call 'create' + + BeanDefinitionBuilder factoryWrapper = BeanDefinitionBuilder.genericBeanDefinition(DiskWriteAttributesFactoryBean.class); + factoryWrapper.addPropertyValue("diskAttributesFactory", diskDefBuilder.getBeanDefinition()); + beanBuilder.addPropertyValue("diskWriteAttributes", factoryWrapper.getBeanDefinition()); beanBuilder.addPropertyValue("diskDirs", locations); beanBuilder.addPropertyValue("diskSizes", sizes); }