Commit 38a16610 by Nepxion

修改Zookeeper获取Group时候的Bug

parent 1297f53e
...@@ -11,8 +11,6 @@ package com.nepxion.discovery.plugin.configcenter.extension.nacos.adapter; ...@@ -11,8 +11,6 @@ package com.nepxion.discovery.plugin.configcenter.extension.nacos.adapter;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import javax.annotation.PostConstruct;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -53,7 +51,7 @@ public class NacosConfigAdapter extends ConfigAdapter { ...@@ -53,7 +51,7 @@ public class NacosConfigAdapter extends ConfigAdapter {
return configService.getConfig(serviceId, group, timeout); return configService.getConfig(serviceId, group, timeout);
} }
@PostConstruct @Override
public void subscribeConfig() throws Exception { public void subscribeConfig() throws Exception {
String groupKey = pluginContextAware.getGroupKey(); String groupKey = pluginContextAware.getGroupKey();
String group = pluginAdapter.getGroup(); String group = pluginAdapter.getGroup();
......
...@@ -9,6 +9,22 @@ package com.nepxion.discovery.plugin.configcenter.loader; ...@@ -9,6 +9,22 @@ package com.nepxion.discovery.plugin.configcenter.loader;
* @version 1.0 * @version 1.0
*/ */
import javax.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public abstract class RemoteConfigLoader implements ConfigLoader { public abstract class RemoteConfigLoader implements ConfigLoader {
private static final Logger LOG = LoggerFactory.getLogger(RemoteConfigLoader.class);
@PostConstruct
public void initialize() {
try {
subscribeConfig();
} catch (Exception e) {
LOG.error("Subscribe config failed", e);
}
}
protected abstract void subscribeConfig() throws Exception;
} }
\ No newline at end of file
...@@ -13,10 +13,17 @@ import java.util.Map; ...@@ -13,10 +13,17 @@ import java.util.Map;
import org.springframework.cloud.zookeeper.discovery.ZookeeperServer; import org.springframework.cloud.zookeeper.discovery.ZookeeperServer;
import com.nepxion.discovery.plugin.framework.constant.ZookeeperConstant;
import com.nepxion.discovery.plugin.framework.exception.PluginException; import com.nepxion.discovery.plugin.framework.exception.PluginException;
import com.netflix.loadbalancer.Server; import com.netflix.loadbalancer.Server;
public class ZookeeperAdapter extends AbstractPluginAdapter { public class ZookeeperAdapter extends AbstractPluginAdapter {
// Zookeeper比较特殊,父类中getMetaData().get(groupKey)方法不行,执行该方法的时候MetaData还没初始化
@Override
protected String getGroup(String groupKey) {
return pluginContextAware.getEnvironment().getProperty(ZookeeperConstant.META_DATA + "." + groupKey);
}
@Override @Override
public Map<String, String> getServerMetaData(Server server) { public Map<String, String> getServerMetaData(Server server) {
if (server instanceof ZookeeperServer) { if (server instanceof ZookeeperServer) {
......
...@@ -11,4 +11,6 @@ package com.nepxion.discovery.plugin.framework.constant; ...@@ -11,4 +11,6 @@ package com.nepxion.discovery.plugin.framework.constant;
public class ZookeeperConstant { public class ZookeeperConstant {
public static final String DISCOVERY_PLUGIN = "Zookeeper Plugin"; public static final String DISCOVERY_PLUGIN = "Zookeeper Plugin";
public static final String META_DATA = "spring.cloud.zookeeper.discovery.metadata";
} }
\ No newline at end of file
...@@ -40,7 +40,7 @@ public abstract class AbstractPluginAdapter implements PluginAdapter { ...@@ -40,7 +40,7 @@ public abstract class AbstractPluginAdapter implements PluginAdapter {
public String getGroup() { public String getGroup() {
String groupKey = pluginContextAware.getGroupKey(); String groupKey = pluginContextAware.getGroupKey();
String group = getMetaData().get(groupKey); String group = getGroup(groupKey);
if (StringUtils.isEmpty(group)) { if (StringUtils.isEmpty(group)) {
throw new PluginException("The value is null or empty for metadata key=" + groupKey + ", please check your configuration"); throw new PluginException("The value is null or empty for metadata key=" + groupKey + ", please check your configuration");
} }
...@@ -48,6 +48,10 @@ public abstract class AbstractPluginAdapter implements PluginAdapter { ...@@ -48,6 +48,10 @@ public abstract class AbstractPluginAdapter implements PluginAdapter {
return group; return group;
} }
protected String getGroup(String groupKey) {
return getMetaData().get(groupKey);
}
@Override @Override
public String getServiceId() { public String getServiceId() {
return registration.getServiceId(); return registration.getServiceId();
......
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