From 46b33e995264fc16d16e05869004f492355964ee Mon Sep 17 00:00:00 2001 From: Michael Nitschinger Date: Thu, 23 Jan 2014 15:45:47 +0100 Subject: [PATCH] DATACOUCH-52 also register shutdown for xml-based configs --- .../data/couchbase/config/CouchbaseParser.java | 5 ++++- .../data/couchbase/core/CouchbaseFactoryBean.java | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/couchbase/config/CouchbaseParser.java b/src/main/java/org/springframework/data/couchbase/config/CouchbaseParser.java index c5de01e7..487528be 100644 --- a/src/main/java/org/springframework/data/couchbase/config/CouchbaseParser.java +++ b/src/main/java/org/springframework/data/couchbase/config/CouchbaseParser.java @@ -66,6 +66,8 @@ public class CouchbaseParser extends AbstractSingleBeanDefinitionParser { bean.addConstructorArgValue(StringUtils.hasText(bucket) ? bucket : CouchbaseFactoryBean.DEFAULT_BUCKET); String password = element.getAttribute("password"); bean.addConstructorArgValue(StringUtils.hasText(password) ? password : CouchbaseFactoryBean.DEFAULT_PASSWORD); + + bean.setDestroyMethodName(CouchbaseFactoryBean.DEFAULT_DESTROY_METHOD); } /** @@ -78,7 +80,8 @@ public class CouchbaseParser extends AbstractSingleBeanDefinitionParser { * @return the ID to work with. */ @Override - protected String resolveId(final Element element, final AbstractBeanDefinition definition, final ParserContext parserContext) { + protected String resolveId(final Element element, final AbstractBeanDefinition definition, + final ParserContext parserContext) { String id = super.resolveId(element, definition, parserContext); return StringUtils.hasText(id) ? id : BeanNames.COUCHBASE; } diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseFactoryBean.java b/src/main/java/org/springframework/data/couchbase/core/CouchbaseFactoryBean.java index abaa706e..8addff4e 100644 --- a/src/main/java/org/springframework/data/couchbase/core/CouchbaseFactoryBean.java +++ b/src/main/java/org/springframework/data/couchbase/core/CouchbaseFactoryBean.java @@ -59,6 +59,11 @@ public class CouchbaseFactoryBean implements FactoryBean, Initi */ public static final String DEFAULT_PASSWORD = ""; + /** + * The name of the default shutdown method to call when the context is destroyed. + */ + public static final String DEFAULT_DESTROY_METHOD = "shutdown"; + /** * Holds the enclosed {@link CouchbaseClient}. */