Commit cb986c12 by Nepxion

重构类结构

parent cc8039cc
package com.nepxion.discovery.plugin.actuator.cache;
/**
* <p>Title: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* @author Haojun Ren
* @version 1.0
*/
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.StringUtils;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
public class ActuatorCache {
private static class LazyHolder {
private static final ActuatorCache INSTANCE = new ActuatorCache();
}
private static final LoadingCache<String, String> EUREKA_RULE_CACHE = CacheBuilder.newBuilder()
.concurrencyLevel(8)
.expireAfterWrite(1, TimeUnit.DAYS)
.initialCapacity(10)
.maximumSize(100)
.recordStats()
.build(new CacheLoader<String, String>() {
@Override
public String load(String key) throws Exception {
return StringUtils.EMPTY;
}
});
private ActuatorCache() {
}
public static final ActuatorCache getInstance() {
return LazyHolder.INSTANCE;
}
public boolean put(String serviceId, String rule) {
EUREKA_RULE_CACHE.put(serviceId, rule);
return Boolean.TRUE;
}
public String get(String serviceId) {
try {
return EUREKA_RULE_CACHE.get(serviceId);
} catch (ExecutionException e) {
return StringUtils.EMPTY;
}
}
public boolean clear(String serviceId) {
EUREKA_RULE_CACHE.invalidate(serviceId);
return Boolean.TRUE;
}
}
\ No newline at end of file
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
spring.application.name=discovery-springcloud-example-a spring.application.name=discovery-springcloud-example-a
server.port=4321 server.port=4321
eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/ eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.metadataMap.version=1.0 eureka.instance.metadataMap.version=1.0
# Multi-versions control # Multi-versions control
spring.application.discovery.version.enabled=true spring.application.discovery.version.enabled=true
# Get remote config. If false, get local config # Get remote config. If false, get local config
spring.application.discovery.remote.config.enabled=true spring.application.discovery.remote.config.enabled=true
\ No newline at end of file
management.security.enabled=false
\ No newline at end of file
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
spring.application.name=discovery-springcloud-example-b spring.application.name=discovery-springcloud-example-b
server.port=4322 server.port=4322
eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/ eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.metadataMap.version=1.0 eureka.instance.metadataMap.version=1.0
\ No newline at end of file
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
spring.application.name=discovery-springcloud-example-b spring.application.name=discovery-springcloud-example-b
server.port=4323 server.port=4323
eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/ eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.metadataMap.version=1.1 eureka.instance.metadataMap.version=1.1
\ No newline at end of file
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
spring.application.name=discovery-springcloud-example-b spring.application.name=discovery-springcloud-example-b
server.port=4324 server.port=4324
eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/ eureka.client.serviceUrl.defaultZone=http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress=true
eureka.instance.metadataMap.version=2.0 eureka.instance.metadataMap.version=2.0
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment