diff --git a/fizz-core/src/main/java/we/service_registry/FizzServiceRegistration.java b/fizz-core/src/main/java/we/service_registry/FizzServiceRegistration.java index 113cc9a..66f425b 100644 --- a/fizz-core/src/main/java/we/service_registry/FizzServiceRegistration.java +++ b/fizz-core/src/main/java/we/service_registry/FizzServiceRegistration.java @@ -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 getServices(); + + public abstract String getInstance(String service); } diff --git a/fizz-core/src/main/java/we/service_registry/RegistryCenter.java b/fizz-core/src/main/java/we/service_registry/RegistryCenter.java index 7de2c8d..0eb11bb 100644 --- a/fizz-core/src/main/java/we/service_registry/RegistryCenter.java +++ b/fizz-core/src/main/java/we/service_registry/RegistryCenter.java @@ -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; diff --git a/fizz-core/src/main/java/we/service_registry/eureka/FizzEurekaServiceRegistration.java b/fizz-core/src/main/java/we/service_registry/eureka/FizzEurekaServiceRegistration.java index cbdeb21..435e206 100644 --- a/fizz-core/src/main/java/we/service_registry/eureka/FizzEurekaServiceRegistration.java +++ b/fizz-core/src/main/java/we/service_registry/eureka/FizzEurekaServiceRegistration.java @@ -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 getServices() { + List 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); diff --git a/fizz-core/src/main/java/we/service_registry/nacos/FizzNacosServiceRegistration.java b/fizz-core/src/main/java/we/service_registry/nacos/FizzNacosServiceRegistration.java index af22658..3805a9a 100644 --- a/fizz-core/src/main/java/we/service_registry/nacos/FizzNacosServiceRegistration.java +++ b/fizz-core/src/main/java/we/service_registry/nacos/FizzNacosServiceRegistration.java @@ -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 getServices() { + try { + ListView 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);