Add getServices method to FizzEurekaServiceRegistration.java

This commit is contained in:
hongqiaowei
2021-12-24 17:15:17 +08:00
parent 824c78bc2f
commit 6c7a1ed58c
4 changed files with 29 additions and 2 deletions

View File

@@ -22,6 +22,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.cloud.client.serviceregistry.Registration;
import org.springframework.cloud.client.serviceregistry.ServiceRegistry;
import java.util.List;
/**
* @author hongqiaowei
*/
@@ -52,5 +54,7 @@ public abstract class FizzServiceRegistration {
public abstract RegistryCenter.Status getRegistryCenterStatus();
public abstract String getInstance(String service);
public abstract List<String> getServices();
public abstract String getInstance(String service);
}

View File

@@ -93,7 +93,7 @@ public class RegistryCenter {
if (type == EUREKA) {
fizzServiceRegistration = FizzEurekaHelper.getServiceRegistration(Fizz.context, properties);
} else {
fizzServiceRegistration = FizzNacosHelper.getServiceRegistration(Fizz.context, properties);
fizzServiceRegistration = FizzNacosHelper. getServiceRegistration(Fizz.context, properties);
}
}
return fizzServiceRegistration;

View File

@@ -33,6 +33,8 @@ import we.service_registry.RegistryCenter;
import we.util.Consts;
import we.util.Utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -120,6 +122,16 @@ public class FizzEurekaServiceRegistration extends FizzServiceRegistration {
}
}
@Override
public List<String> getServices() {
List<String> services = new ArrayList<>();
Applications applications = client.getApplications();
for (Application registeredApplication : applications.getRegisteredApplications()) {
services.add(registeredApplication.getName());
}
return services;
}
@Override
public String getInstance(String service) {
InstanceInfo inst = getInstanceInfo(service);

View File

@@ -23,6 +23,7 @@ import com.alibaba.cloud.nacos.registry.NacosServiceRegistry;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;
import com.alibaba.nacos.api.naming.pojo.ListView;
import org.springframework.util.StringUtils;
import we.service_registry.FizzServiceRegistration;
import we.service_registry.RegistryCenter;
@@ -86,6 +87,16 @@ public class FizzNacosServiceRegistration extends FizzServiceRegistration {
}
}
@Override
public List<String> getServices() {
try {
ListView<String> servicesOfServer = namingService.getServicesOfServer(1, Integer.MAX_VALUE);
return servicesOfServer.getData();
} catch (NacosException e) {
throw new RuntimeException(e);
}
}
@Override
public String getInstance(String service) {
Instance instance = getInstanceInfo(service);