SLING-4381 instantiate metrics adapter only once

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1683118 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java b/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
index ea61ed3..a567978 100644
--- a/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
+++ b/src/main/java/org/apache/sling/nosql/couchbase/resourceprovider/impl/CouchbaseNoSqlResourceProviderFactory.java
@@ -73,15 +73,16 @@
 
     @Activate
     private void activate(ComponentContext componentContext, Map<String, Object> config) {
-        String cacheKeyPrefix = PropertiesUtil
-                .toString(config.get(CACHE_KEY_PREFIX_PROPERTY), CACHE_KEY_PREFIX_DEFAULT);
-        noSqlAdapter = new CouchbaseNoSqlAdapter(couchbaseClient, cacheKeyPrefix);
+        String cacheKeyPrefix = PropertiesUtil.toString(config.get(CACHE_KEY_PREFIX_PROPERTY), CACHE_KEY_PREFIX_DEFAULT);
+        NoSqlAdapter couchbaseAdapter = new CouchbaseNoSqlAdapter(couchbaseClient, cacheKeyPrefix);
+        
+        // enable call logging and metrics for {@link CouchbaseNoSqlAdapter}
+        noSqlAdapter = new MetricsNoSqlAdapterWrapper(couchbaseAdapter, LoggerFactory.getLogger(CouchbaseNoSqlAdapter.class));
     }
 
     @Override
     protected NoSqlAdapter getNoSqlAdapter() {
-        // enable call logging and metrics for {@link CouchbaseNoSqlAdapter}
-        return new MetricsNoSqlAdapterWrapper(noSqlAdapter, LoggerFactory.getLogger(CouchbaseNoSqlAdapter.class));
+        return noSqlAdapter;
     }
 
     @Override