Integration for Google Cloud Platform APIs with Spring
Java XSLT Other
Clone or download
meltsufin Add message conversion to PubSubSubscriberTemplate (#841)
Adds pullAndConvert() and subscribeAndConvert() to the PubSubTemplate.
Latest commit 34bc74d Aug 13, 2018
Permalink
Failed to load latest commit information.
.mvn Adds mvn wrapper tools to project May 31, 2017
spring-cloud-gcp-autoconfigure Spanner interleaved parent-child integration tests (#950) Aug 13, 2018
spring-cloud-gcp-core Datastore autoconfig (#920) Aug 9, 2018
spring-cloud-gcp-data-datastore Datastore created integration tests (#944) Aug 9, 2018
spring-cloud-gcp-data-spanner Spanner interleaved parent-child integration tests (#950) Aug 13, 2018
spring-cloud-gcp-dependencies Datastore autoconfig (#920) Aug 9, 2018
spring-cloud-gcp-docs Add message conversion to PubSubSubscriberTemplate (#841) Aug 13, 2018
spring-cloud-gcp-pubsub-stream-binder Revert "1.1.0.M1 Release (#876)" (#878) Jul 19, 2018
spring-cloud-gcp-pubsub Add message conversion to PubSubSubscriberTemplate (#841) Aug 13, 2018
spring-cloud-gcp-samples Spanner schema admin functions for parent-child relationships (#910) Aug 10, 2018
spring-cloud-gcp-starters Revert "1.1.0.M1 Release (#876)" (#878) Jul 19, 2018
spring-cloud-gcp-storage Revert "1.1.0.M1 Release (#876)" (#878) Jul 19, 2018
src Added Checkstyle rule NonEmptyAtclauseDescription (#870) Jul 17, 2018
.gitignore Add STS cache file to ignores Feb 5, 2018
.jdk8 Refactoring for modules May 26, 2017
.travis.yml Datastore created integration tests (#944) Aug 9, 2018
CODE_OF_CONDUCT.adoc Updates CONTRIBUTING with agreed workflow and adds CODE_OF_CONDUCT (#177 Oct 3, 2017
CONTRIBUTING.adoc Updates Spring code style link (#543) Apr 11, 2018
LICENSE Initial commit Mar 24, 2017
README.adoc Update README.adoc to point to 1.0 GA (#942) Aug 9, 2018
RELEASING.adoc Guidance on pre-release process (#755) Jun 21, 2018
mvnw Adds mvn wrapper tools to project May 31, 2017
mvnw.cmd Adds mvn wrapper tools to project May 31, 2017
pom.xml Bump dep versions to latest (#936) Aug 7, 2018
travis.tar.gz.enc adds Spanner integration tests (#459) Mar 27, 2018

README.adoc

Spring Framework on Google Cloud Platform

This project makes it easy for Spring users to run their applications on Google Cloud Platform. You can check our project website here.

For a deep dive into the project, refer to the Spring Cloud GCP 1.0 Reference Document.

Currently, this repository provides support for:

If you have any other ideas, suggestions or bug reports, please use our GitHub issue tracker and let us know! We would love to hear from you.

If you want to collaborate in the project, we would also love to get your Pull Requests. Before you start working on one, please take a look at our collaboration manual.

Spring Initializr

Spring Initializr contains Spring Cloud GCP auto-configuration support through the GCP Support entry.

GCP Messaging contains the Spring Cloud GCP messaging support with Google Cloud Pub/Sub working out of the box.

Similarly to GCP Messaging, GCP Storage contains the Google Cloud Storage support with no other dependencies needed.

Spring Cloud GCP Bill of Materials (BOM)

If you’re a Maven user, add our BOM to your pom.xml <dependencyManagement> section. This will allow you to not specify versions for any of the Maven dependencies and instead delegate versioning to the BOM.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-dependencies</artifactId>
            <version>1.0.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Spring Milestones Maven Repository

The latest non-GA Maven artifacts for the project are only available in the Spring Milestones repository. You will want to make sure that the repository is added to your pom.xml file or globally in your settings.xml file.

<repositories>
    <repository>
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>https://repo.spring.io/milestone</url>
    </repository>
</repositories>

Spring Boot Starters

Spring Boot greatly simplifies the Spring Cloud GCP experience. Our starters handle the object instantiation and configuration logic so you don’t have to.

Every starter depends on the GCP starter to provide critical bits of configuration, like the GCP project ID or OAuth2 credentials location. You can configure these as properties in, for example, a properties file:

spring.cloud.gcp.project-id=[YOUR_GCP_PROJECT_ID]
spring.cloud.gcp.credentials.location=file:[LOCAL_PRIVATE_KEY_FILE]
spring.cloud.gcp.credentials.scopes=[SCOPE_1],[SCOPE_2],[SCOPE_3]

These properties are optional and, if not specified, Spring Boot will attempt to automatically find them for you. For details on how Spring Boot finds these properties, refer to the documentation.

Note
If your app is running on Google App Engine or Google Compute Engine, in most cases, you should omit the spring.cloud.gcp.credentials.location property and, instead, let the Spring Cloud GCP Core Starter find the correct credentials for those environments.