/spring-cloud-alibaba-starters/spring-cloud-starter-dubbo/src/main/java/com/alibaba/cloud/dubbo/metadata/repository/ServiceInstanceSelector.java

https://github.com/alibaba/spring-cloud-alibaba · Java · 38 lines · 7 code · 6 blank · 25 comment · 0 complexity · 59846158e6d4e2bafdc1d6ac5499f1ad MD5 · raw file

  1. /*
  2. * Copyright 2013-2018 the original author or authors.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * https://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. package com.alibaba.cloud.dubbo.metadata.repository;
  17. import java.util.List;
  18. import java.util.Optional;
  19. import org.springframework.cloud.client.ServiceInstance;
  20. /**
  21. * metadata service instance selector.
  22. *
  23. * @author <a href="mailto:liuxx-u@outlook.com">liuxx</a>
  24. */
  25. public interface ServiceInstanceSelector {
  26. /**
  27. * Select a service instance to get metadata.
  28. * @param serviceInstances all service instance
  29. * @return the service instance to get metadata
  30. */
  31. Optional<ServiceInstance> select(List<ServiceInstance> serviceInstances);
  32. }