[maven-release-plugin] copy for tag commons-jcs-2.2.1

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/jcs/tags/commons-jcs-2.2.1@1812876 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java b/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java
index ff0979d..e62cb9a 100644
--- a/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java
+++ b/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java
@@ -736,8 +736,8 @@
                 if ( log.isDebugEnabled() )
                 {
                     log.debug( "Release called, but " + clients + " remain" );
-                    return;
                 }
+                return;
             }
 
             if ( log.isDebugEnabled() )
diff --git a/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java b/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java
new file mode 100644
index 0000000..49bcd72
--- /dev/null
+++ b/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java
@@ -0,0 +1,54 @@
+package org.apache.commons.jcs.engine.control;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import junit.framework.TestCase;
+
+import org.apache.commons.jcs.engine.CacheStatus;
+import org.apache.commons.jcs.engine.CompositeCacheAttributes;
+
+/** Unit tests for the composite cache manager */
+public class CompositeCacheManagerTest
+        extends TestCase
+{
+
+    /**
+     * Verify that calling release, when there are active clients, the caches are correctly disposed or not.
+     */
+    public void testRelease()
+    {
+        // See JCS-184
+        // create the manager
+        CompositeCacheManager manager = CompositeCacheManager.getInstance();
+        // add a simple cache
+        CompositeCacheAttributes cacheAttributes = new CompositeCacheAttributes();
+        CompositeCache<String, String> cache = new CompositeCache<String, String>(cacheAttributes, /* attr */ null);
+        manager.addCache("simple_cache", cache);
+        // add a client to the cache
+        CompositeCacheManager.getUnconfiguredInstance();
+        // won't release as there are still clients. Only disposed when release() is called by
+        // the last client
+        manager.release();
+        assertEquals("The cache was disposed during release!", CacheStatus.ALIVE, cache.getStatus());
+        manager.release();
+        assertEquals("The cache was NOT disposed during release!", CacheStatus.DISPOSED, cache.getStatus());
+    }
+
+}
\ No newline at end of file
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 20e237c..800235c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -19,15 +19,23 @@
 		<author email="dev@commons.apache.org">Apache Commons Developers</author>
 	</properties>
 	<body>
+        <release version="2.2.1" date="2017-08-02">
+          <action dev="kinow" type="fix" due-to="athun">
+            Unexpected dispose() in CompositeCacheManager.release()
+          </action>
+          <action issue="JCS-183" dev="rmannibucau" type="fix">
+            JCache CDI Integration is slow
+          </action>
+        </release>
         <release version="2.2" date="2017-08-02">
             <action issue="JCS-180" dev="rmannibucau" type="fix">
                 CacheInvocationContextImpl NPE if method doesnt have any argument
             </action>
             <action issue="JCS-179" dev="tv" type="fix" due-to="Archer">
-                RemoteCacheServerFactory not able to start server 
+                RemoteCacheServerFactory not able to start server
             </action>
             <action issue="JCS-178" dev="tv" type="fix">
-                Clients using RemoteCache are not working. Add a test. 
+                Clients using RemoteCache are not working. Add a test.
             </action>
             <action dev="tv" type="add">
                 Add a shutdown() method to JCS