Commit 08ce34ac by Nepxion

修正Zookeeper服务发现的Bug

parent 64cddf47
......@@ -11,13 +11,30 @@ package com.nepxion.discovery.plugin.framework.adapter;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.cloud.zookeeper.discovery.ZookeeperServer;
import org.springframework.cloud.zookeeper.serviceregistry.ZookeeperRegistration;
import com.nepxion.discovery.common.exception.DiscoveryException;
import com.nepxion.discovery.plugin.framework.constant.ZookeeperConstant;
import com.netflix.loadbalancer.Server;
public class ZookeeperAdapter extends AbstractPluginAdapter {
// Zookeeper比较特殊,getServiceInstance是Lazy Initialize模式
@PostConstruct
private void initialize() {
if (registration instanceof ZookeeperRegistration) {
ZookeeperRegistration zookeeperRegistration = (ZookeeperRegistration) registration;
zookeeperRegistration.getServiceInstance();
return;
}
throw new DiscoveryException("Registration isn't the type of ZookeeperRegistration");
}
// Zookeeper比较特殊,父类中getMetadata().get(groupKey)方法不行,执行该方法的时候Metadata还没初始化
@Override
protected String getGroup(String groupKey) {
......
......@@ -11,6 +11,7 @@ spring.cloud.consul.discovery.preferIpAddress=true
# Zookeeper config for discovery
spring.cloud.zookeeper.connectString=localhost:2181
spring.cloud.zookeeper.discovery.instancePort=${server.port}
spring.cloud.zookeeper.discovery.root=/spring-cloud-service
spring.cloud.zookeeper.discovery.preferIpAddress=true
......
......@@ -11,6 +11,7 @@ spring.cloud.consul.discovery.preferIpAddress=true
# Zookeeper config for discovery
spring.cloud.zookeeper.connectString=localhost:2181
spring.cloud.zookeeper.discovery.instancePort=${server.port}
spring.cloud.zookeeper.discovery.root=/spring-cloud-service
spring.cloud.zookeeper.discovery.preferIpAddress=true
......
......@@ -11,6 +11,7 @@ spring.cloud.consul.discovery.preferIpAddress=true
# Zookeeper config for discovery
spring.cloud.zookeeper.connectString=localhost:2181
spring.cloud.zookeeper.discovery.instancePort=${server.port}
spring.cloud.zookeeper.discovery.root=/spring-cloud-service
spring.cloud.zookeeper.discovery.preferIpAddress=true
......
......@@ -12,6 +12,7 @@ spring.cloud.consul.discovery.preferIpAddress=true
# Zookeeper config for discovery
spring.cloud.zookeeper.connectString=localhost:2181
spring.cloud.zookeeper.discovery.instancePort=${server.port}
spring.cloud.zookeeper.discovery.root=/spring-cloud-service
spring.cloud.zookeeper.discovery.preferIpAddress=true
......
......@@ -11,6 +11,7 @@ spring.cloud.consul.discovery.preferIpAddress=true
# Zookeeper config for discovery
spring.cloud.zookeeper.connectString=localhost:2181
spring.cloud.zookeeper.discovery.instancePort=${server.port}
spring.cloud.zookeeper.discovery.root=/spring-cloud-service
spring.cloud.zookeeper.discovery.preferIpAddress=true
......
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