Merge pull request #815 from redisson/revert-790-CacheStatisticsProvider

Revert "Add an autoconfigured Spring Boot CacheStatisticsProvider implementation"
pull/872/head
Nikita Koksharov 8 years ago committed by GitHub
commit 9680476345

@ -244,12 +244,6 @@
<version>1.2.2.RELEASE</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
<version>[1.4,)</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>

@ -18,7 +18,6 @@ package org.redisson.spring.cache;
import java.lang.reflect.Constructor;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import org.redisson.api.RLock;
import org.redisson.api.RMap;
@ -42,10 +41,6 @@ public class RedissonCache implements Cache {
private final RedissonClient redisson;
private final AtomicLong hits = new AtomicLong();
private final AtomicLong misses = new AtomicLong();
public RedissonCache(RedissonClient redisson, RMapCache<Object, Object> mapCache, CacheConfig config) {
this.mapCache = mapCache;
this.map = mapCache;
@ -71,20 +66,12 @@ public class RedissonCache implements Cache {
@Override
public ValueWrapper get(Object key) {
Object value = map.get(key);
if (value == null) {
addCacheMiss();
}else{
addCacheHit();
}
return toValueWrapper(value);
}
public <T> T get(Object key, Class<T> type) {
Object value = map.get(key);
if (value == null) {
addCacheMiss();
}else{
addCacheHit();
if (value != null) {
if (value.getClass().getName().equals(NullValue.class.getName())) {
return null;
}
@ -137,7 +124,6 @@ public class RedissonCache implements Cache {
public <T> T get(Object key, Callable<T> valueLoader) {
Object value = map.get(key);
if (value == null) {
addCacheMiss();
RLock lock = map.getLock(key);
lock.lock();
try {
@ -160,8 +146,6 @@ public class RedissonCache implements Cache {
} finally {
lock.unlock();
}
}else{
addCacheHit();
}
return (T) fromStoreValue(value);
@ -181,26 +165,4 @@ public class RedissonCache implements Cache {
return userValue;
}
/** The number of get requests that were satisfied by the cache.
* @return the number of hits
*/
long getCacheHits(){
return hits.get();
}
/** A miss is a get request that is not satisfied.
* @return the number of misses
*/
long getCacheMisses(){
return misses.get();
}
private void addCacheHit(){
hits.incrementAndGet();
}
private void addCacheMiss(){
misses.incrementAndGet();
}
}

@ -1,41 +0,0 @@
/**
* Copyright 2017 Craig Andrews
*
* Licensed 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.
*/
package org.redisson.spring.cache;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
*
* @author Craig Andrews
*
* {@link EnableAutoConfiguration Auto-configuration} for {@link RedissonCacheStatisticsProvider}
*
*/
@Configuration
@AutoConfigureAfter(CacheAutoConfiguration.class)
@ConditionalOnBean(CacheManager.class)
public class RedissonCacheStatisticsAutoConfiguration {
@Bean
public RedissonCacheStatisticsProvider redissonCacheStatisticsProvider(){
return new RedissonCacheStatisticsProvider();
}
}

@ -1,38 +0,0 @@
/**
* Copyright 2017 Craig Andrews
*
* Licensed 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.
*/
package org.redisson.spring.cache;
import org.springframework.boot.actuate.cache.CacheStatistics;
import org.springframework.boot.actuate.cache.CacheStatisticsProvider;
import org.springframework.boot.actuate.cache.DefaultCacheStatistics;
import org.springframework.cache.CacheManager;
/**
*
* @author Craig Andrews
*
*/
public class RedissonCacheStatisticsProvider implements CacheStatisticsProvider<RedissonCache> {
@Override
public CacheStatistics getCacheStatistics(final CacheManager cacheManager, final RedissonCache cache) {
final DefaultCacheStatistics defaultCacheStatistics = new DefaultCacheStatistics();
defaultCacheStatistics.setSize((long) cache.getNativeCache().size());
defaultCacheStatistics.setGetCacheCounts(cache.getCacheHits(), cache.getCacheMisses());
return defaultCacheStatistics;
}
}

@ -1 +0,0 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.redisson.spring.cache.RedissonCacheStatisticsAutoConfiguration
Loading…
Cancel
Save