Author: kinow Date: Thu Oct 12 07:16:07 2017 New Revision: 1811915 URL: http://svn.apache.org/viewvc?rev=1811915&view=rev Log: JCS-184: move return statement outside of logging block
Added: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java commons/proper/jcs/trunk/src/changes/changes.xml Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java?rev=1811915&r1=1811914&r2=1811915&view=diff ============================================================================== --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java (original) +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCacheManager.java Thu Oct 12 07:16:07 2017 @@ -736,8 +736,8 @@ public class CompositeCacheManager if ( log.isDebugEnabled() ) { log.debug( "Release called, but " + clients + " remain" ); - return; } + return; } if ( log.isDebugEnabled() ) Added: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java?rev=1811915&view=auto ============================================================================== --- commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java (added) +++ commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/engine/control/CompositeCacheManagerTest.java Thu Oct 12 07:16:07 2017 @@ -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<>(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()); + } + +} Modified: commons/proper/jcs/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/src/changes/changes.xml?rev=1811915&r1=1811914&r2=1811915&view=diff ============================================================================== --- commons/proper/jcs/trunk/src/changes/changes.xml (original) +++ commons/proper/jcs/trunk/src/changes/changes.xml Thu Oct 12 07:16:07 2017 @@ -20,6 +20,9 @@ </properties> <body> <release version="3.0" date="unreleased"> + <action dev="kinow" type="fix" due-to="athun"> + Unexpected dispose() in CompositeCacheManager.release() + </action> <action dev="tv" type="remove"> Remove dependency on velocity-tools </action>