[ 
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)

Reply via email to