[ https://issues.apache.org/jira/browse/SCB-184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16317477#comment-16317477 ]
ASF GitHub Bot commented on SCB-184: ------------------------------------ wujimin commented on a change in pull request #492: [SCB-184]Provide starters for Spring Cloud to using service-center and config-center URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/492#discussion_r160298576 ########## File path: spring-boot-starter/spring-boot-starter-discovery/src/main/java/io/servicecomb/springboot/starter/discovery/CseDiscoveryClient.java ########## @@ -45,21 +44,18 @@ public String description() { @Override public List<ServiceInstance> getInstances(final String serviceId) { - List<ServiceInstance> instances = new ArrayList<>(); - ServiceRegistryClient client = RegistryUtils.getServiceRegistryClient(); - String appId = RegistryUtils.getAppId(); - ReferenceConfig referenceConfig = consumerProviderManager.getReferenceConfig(serviceId); - String versionRule = referenceConfig.getMicroserviceVersionRule(); - String cseServiceID = client.getMicroserviceId(appId, serviceId, versionRule); - List<MicroserviceInstance> cseServices = client.getMicroserviceInstance(cseServiceID, cseServiceID); - if (null != cseServices && !cseServices.isEmpty()) { - for (MicroserviceInstance instance : cseServices) { - List<String> eps = instance.getEndpoints(); - for (String ep : eps) { - URIEndpointObject uri = new URIEndpointObject(ep); - instances.add(new DefaultServiceInstance(instance.getServiceId(), uri.getHostOrIp(), - uri.getPort(), false)); - } + DiscoveryContext context = new DiscoveryContext(); + context.setInputParameters(serviceId); + VersionedCache serversVersionedCache = discoveryTree.discovery(context, + RegistryUtils.getAppId(), + serviceId, + DefinitionConst.VERSION_RULE_ALL); + Map<String, MicroserviceInstance> servers = serversVersionedCache.data(); Review comment: convert MicroserviceInstance results to List<ServcieInstance> can be a filter of discoveryTree this can avoid build List<ServiceInstance> for every invocation. create create a new issue for this. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Provide starters for Spring Cloud to using service-center and config-center > --------------------------------------------------------------------------- > > Key: SCB-184 > URL: https://issues.apache.org/jira/browse/SCB-184 > Project: Apache ServiceComb > Issue Type: Improvement > Components: Java-Chassis > Reporter: liubao > > we have already have starters for spring cloud to using ServiceComb as a > whole component. Now we make these components small enough to let spring > cloud users to do the following: > 1. provide a starter to register spring cloud application to service center; > 2. provide a starter to using config center for dynamic configuration; > 3. provide a starter that implments DiscoveryClient and using @Loadbalanced > RestTemplate and using ZuulProxy -- This message was sent by Atlassian JIRA (v6.4.14#64029)