Skip to content

cloudfoundry/java-buildpack-auto-reconfiguration

Java Buildpack Auto-Reconfiguration

This repository contains the auto-reconfiguration functionality for Spring auto-reconfiguration.

NOTE: This project has been deprecated and is in maintenance mode. We will continue to release security-related updates but will not address enhancement requests. It will be archived after Dec 2022. Refer to this issue to log comments.

What is Auto-Reconfiguration?

Auto-reconfiguration consists of three parts.

  1. it adds the cloud profile to Spring's list of active profiles
  2. it exposes all of the properties contributed by Cloud Foundry as a PropertySource in the ApplicationContext
  3. it re-writes the bean definitions of various types to connect automatically with services bound to the application.

The types that are rewritten are as follows:

Bean TypeService Type
com.datastax.driver.core.ClusterCassandra Service
javax.sql.DataSourceRelational Data Services (e.g. ClearDB, ElephantSQL)
org.springframework.amqp.rabbit.connection.ConnectionFactoryRabbitMQ Service (e.g. CloudAMQP)
org.springframework.data.mongodb.MongoDbFactoryMongo Service (e.g. MongoLab)
org.springframework.data.redis.connection.RedisConnectionFactoryRedis Service (e.g. Redis Cloud)
org.springframework.mail.javamail.JavaMailSenderSMTP Service

Dependencies

Most projects will receive this project via Java Buildpack injection. If you need to download it for diagnostic purposes, the dependency can be defined like this:

<dependencies> <dependency> <groupId>org.cloudfoundry</groupId> <artifactId>java-buildpack-auto-reconfiguration</artifactId> <version>2.0.0.RELEASE</version> </dependency> ... </dependencies>

Release artifacts can be found in the Spring release repository:

<repositories> <repository> <id>spring-releases</id> <name>Spring Releases</name> <url>https://repo.spring.io/release</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> ... </repositories>

Snapshot artifacts can be found in the Spring snapshot repository:

<repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> ... </repositories>

For Gradle, the dependencies would be defined like this:

dependencies{compile 'org.cloudfoundry:java-buildpack-auto-reconfiguration:2.0.0.RELEASE'... }

Snapshot artifacts can be found in the Spring release repository:

repositories{maven{url 'http://repo.spring.io/release' } ... }

Snapshot artifacts can be found in the Spring snapshot repository:

repositories{maven{url 'http://repo.spring.io/snapshot' } ... }

Contributing

Pull requests are welcome; see the contributor guidelines for details.

License

This buildpack is released under version 2.0 of the Apache License.

About

Auto-reconfiguration functionality for the Java Buildpack

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 16