Commit 449ffcb8 by Nepxion

修改AbstractDiscoveryEnabledStrategy抽象类,基于Header进行自定义路由更加方便

parent e18d3b89
...@@ -9,31 +9,37 @@ package com.nepxion.discovery.plugin.strategy.adapter; ...@@ -9,31 +9,37 @@ package com.nepxion.discovery.plugin.strategy.adapter;
* @version 1.0 * @version 1.0
*/ */
import java.util.Map;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import com.nepxion.discovery.plugin.framework.adapter.PluginAdapter;
import com.nepxion.discovery.plugin.framework.context.PluginContextAware; import com.nepxion.discovery.plugin.framework.context.PluginContextAware;
import com.nepxion.discovery.plugin.strategy.context.StrategyContextHolder; import com.nepxion.discovery.plugin.strategy.context.StrategyContextHolder;
import com.netflix.loadbalancer.Server;
public abstract class AbstractDiscoveryEnabledStrategy implements DiscoveryEnabledStrategy { public abstract class AbstractDiscoveryEnabledStrategy implements DiscoveryEnabledStrategy {
private StrategyContextHolder strategyContextHolder; @Autowired
protected PluginContextAware pluginContextAware;
@Autowired @Autowired
private PluginContextAware pluginContextAware; protected PluginAdapter pluginAdapter;
protected StrategyContextHolder strategyContextHolder;
@PostConstruct @PostConstruct
public void initialize() { private void initialize() {
strategyContextHolder = pluginContextAware.getBean(StrategyContextHolder.class); strategyContextHolder = pluginContextAware.getBean(StrategyContextHolder.class);
} }
@Override public PluginContextAware getPluginContextAware() {
public boolean apply(Server server, Map<String, String> metadata) { return pluginContextAware;
return apply(server, metadata, strategyContextHolder);
} }
public abstract boolean apply(Server server, Map<String, String> metadata, StrategyContextHolder strategyContextHolder); public PluginAdapter getPluginAdapter() {
return pluginAdapter;
}
public StrategyContextHolder getStrategyContextHolder() {
return strategyContextHolder;
}
} }
\ 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