From faf02a21abe8b40444730743520c0fbc02e68273 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 20 Nov 2013 11:19:54 +0000 Subject: [PATCH] Prevent @Bean method from being called during @PreDestroy --- .../data/MongoRepositoriesAutoConfiguration.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/MongoRepositoriesAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/MongoRepositoriesAutoConfiguration.java index 6978513750..70d85507e5 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/MongoRepositoriesAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/MongoRepositoriesAutoConfiguration.java @@ -55,16 +55,20 @@ public class MongoRepositoriesAutoConfiguration { @Autowired private MongoProperties config; + private Mongo mongo; @PreDestroy public void close() throws UnknownHostException { - mongo().close(); + if (this.mongo != null) { + this.mongo.close(); + } } @Bean @ConditionalOnMissingBean(Mongo.class) Mongo mongo() throws UnknownHostException { - return this.config.mongo(); + this.mongo = this.config.mongo(); + return this.mongo; } @Bean