84. Discovery

这是一个具有 Cloud Foundry 发现功能的 Spring Cloud 应用程序:

app.groovy.

@Grab('org.springframework.cloud:spring-cloud-cloudfoundry')
@RestController
@EnableDiscoveryClient
class Application {

  @Autowired
  DiscoveryClient client

  @RequestMapping('/')
  String home() {
    'Hello from ' + client.getLocalServiceInstance()
  }

}

如果运行时没有任何服务绑定:

$ spring jar app.jar app.groovy
$ cf push -p app.jar

它将在首页中显示其应用名称。

DiscoveryClient可以根据身份验证所使用的凭据列出该空间中的所有应用程序,该空间默认为 Client 端正在其中运行的应用程序(如果有)。如果未配置组织和空间,则它们将根据 Cloud Foundry 中用户的配置文件默认设置。