Spring Cloud for Cloudfoundry makes it easy to run -Spring Cloud apps in -Cloud Foundry (the Platform as a -Service). Cloud Foundry has the notion of a "service", which is -middlware that you "bind" to an app, essentially providing it with an -environment variable containing credentials (e.g. the location and -username to use for the service).
-The spring-cloud-cloudfoundry-commons module configures the
-Reactor-based Cloud Foundry Java client, v 3.0, and can be used standalone.
The spring-cloud-cloudfoundry-web project provides basic support for
-some enhanced features of webapps in Cloud Foundry: binding
-automatically to single-sign-on services and optionally enabling
-sticky routing for discovery.
The spring-cloud-cloudfoundry-discovery project provides an
-implementation of Spring Cloud Commons DiscoveryClient so you can
-@EnableDiscoveryClient and provide your credentials as
-spring.cloud.cloudfoundry.discovery.[username,password] (also *.url if you are not connecting to Pivotal Web Services) and then you
-can use the DiscoveryClient directly or via a LoadBalancerClient.
The first time you use it the discovery client might be slow owing to -the fact that it has to get an access token from Cloud Foundry.
-Discovery
-Here’s a Spring Cloud app with Cloud Foundry discovery:
-@Grab('org.springframework.cloud:spring-cloud-cloudfoundry')
-@RestController
-@EnableDiscoveryClient
-class Application {
+Page Redirection
- @Autowired
- DiscoveryClient client
-
- @RequestMapping('/')
- String home() {
- 'Hello from ' + client.getLocalServiceInstance()
- }
-
-}
-If you run it without any service bindings:
-$ spring jar app.jar app.groovy -$ cf push -p app.jar-
It will show its app name in the home page.
-The DiscoveryClient can lists all the apps in a space, according to
-the credentials it is authenticated with, where the space defaults to
-the one the client is running in (if any). If neither org nor space
-are configured, they default per the user’s profile in Cloud Foundry.
Single Sign On
-| - - | --All of the OAuth2 SSO and resource server features moved to Spring Boot -in version 1.3. You can find documentation in the -Spring Boot user guide. - | -
This project provides automatic binding from CloudFoundry service
-credentials to the Spring Boot features. If you have a CloudFoundry
-service called "sso", for instance, with credentials containing
-"client_id", "client_secret" and "auth_domain", it will bind
-automatically to the Spring OAuth2 client that you enable with
-@EnableOAuth2Sso (from Spring Boot). The name of the service can be
-parameterized using spring.oauth2.sso.serviceId.