Commit 6a29d036 by Nepxion

重构类结构

parent 93176d37
......@@ -19,7 +19,6 @@ import org.slf4j.LoggerFactory;
import com.nepxion.discovery.plugin.strategy.extension.service.constant.ServiceStrategyConstant;
import com.nepxion.discovery.plugin.strategy.extension.service.context.ServiceStrategyContext;
import com.nepxion.discovery.plugin.strategy.extension.service.context.ServiceStrategyContextHolder;
import com.nepxion.matrix.proxy.aop.AbstractInterceptor;
public class ServiceStrategyInterceptor extends AbstractInterceptor {
......@@ -47,7 +46,7 @@ public class ServiceStrategyInterceptor extends AbstractInterceptor {
}
}
ServiceStrategyContext context = ServiceStrategyContextHolder.currentContext();
ServiceStrategyContext context = ServiceStrategyContext.getCurrentContext();
context.add(ServiceStrategyConstant.CLASS, proxiedClass);
context.add(ServiceStrategyConstant.METHOD, methodName);
context.add(ServiceStrategyConstant.PARAMETER_MAP, parameterMap);
......
......@@ -19,6 +19,21 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
public class ServiceStrategyContext {
private static final ThreadLocal<ServiceStrategyContext> THREAD_LOCAL = new InheritableThreadLocal<ServiceStrategyContext>() {
@Override
protected ServiceStrategyContext initialValue() {
return new ServiceStrategyContext();
}
};
public static ServiceStrategyContext getCurrentContext() {
return THREAD_LOCAL.get();
}
public static void clearCurrentContext() {
THREAD_LOCAL.remove();
}
private final Map<String, Object> attributes = new LinkedHashMap<String, Object>();
public ServiceStrategyContext add(String key, Object value) {
......
package com.nepxion.discovery.plugin.strategy.extension.service.context;
/**
* <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
*/
public class ServiceStrategyContextHolder {
private static final ThreadLocal<ServiceStrategyContext> HOLDER = new InheritableThreadLocal<ServiceStrategyContext>() {
@Override
protected ServiceStrategyContext initialValue() {
return new ServiceStrategyContext();
}
};
public static ServiceStrategyContext currentContext() {
return HOLDER.get();
}
public static void clearContext() {
HOLDER.remove();
}
}
\ No newline at end of file
......@@ -19,7 +19,6 @@ import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.strategy.discovery.DiscoveryEnabledAdapter;
import com.nepxion.discovery.plugin.strategy.extension.service.constant.ServiceStrategyConstant;
import com.nepxion.discovery.plugin.strategy.extension.service.context.ServiceStrategyContext;
import com.nepxion.discovery.plugin.strategy.extension.service.context.ServiceStrategyContextHolder;
import com.netflix.loadbalancer.Server;
public class MyDiscoveryEnabledAdapter implements DiscoveryEnabledAdapter {
......@@ -31,7 +30,7 @@ public class MyDiscoveryEnabledAdapter implements DiscoveryEnabledAdapter {
@SuppressWarnings("unchecked")
@Override
public boolean apply(Server server) {
ServiceStrategyContext context = ServiceStrategyContextHolder.currentContext();
ServiceStrategyContext context = ServiceStrategyContext.getCurrentContext();
Map<String, Object> attributes = context.getAttributes();
String serviceId = server.getMetaInfo().getAppName().toLowerCase();
......
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