coherence-spring
coherence-spring copied to clipboard
Coherence Spring Project
:main-release-version: 4.1.3 :main-snapshot-version: 4.1.4-SNAPSHOT :website: https://spring.coherence.community/ :42x-snapshot-version: 4.2.0-SNAPSHOT :3x-release-version: 3.3.6 :3x-snapshot-version: 3.3.7-SNAPSHOT
= Welcome to the Oracle Coherence Spring Project
image:https://github.com/coherence-community/coherence-spring/actions/workflows/maven.yml/badge.svg?branch=main[CI Coherence Spring,link=https://github.com/coherence-community/coherence-spring/actions] image:https://sonarcloud.io/api/project_badges/measure?project=coherence-community_coherence-spring&metric=alert_status[Quality Gate Status,link=https://sonarcloud.io/summary/new_code?id=coherence-community_coherence-spring] image:https://img.shields.io/badge/Coherence-Join%20Slack-brightgreen[Chat with us on slack,link=https://join.slack.com/t/oraclecoherence/shared_invite/zt-9ufv220y-Leudk0o5ntgNV0xraa8DNw] image:https://img.shields.io/stackexchange/stackoverflow/t/oracle-coherence?label=%20StackOverflow%20%7C%20oracle-coherence[Stack Exchange questions,link=https://stackoverflow.com/questions/tagged/oracle-coherence] image:https://img.shields.io/twitter/follow/OracleCoherence?style=social[Twitter Follow,link=https://twitter.com/OracleCoherence]
The Coherence Spring project provides bootstrapping support of https://coherence.community/[Oracle Coherence] for https://spring.io/projects/spring-framework[Spring Framework] and https://spring.io/projects/spring-boot[Spring Boot]. Coherence Spring also provides a set of components to aid in the integration of Oracle Coherence and various other projects of the Spring ecosystem:
- Spring Data
- Spring's Cache Abstraction
- Spring Session
Furthermore, the project also provides various examples to show-case the integration of Oracle Coherence into Spring-based projects.
== Documentation
Detailed project documentation is available on the Coherence Spring website. This includes the reference documentation in various formats (Multi-page/Single-page HTML, PDF), as well as extensive JavaDoc for the Coherence Spring source code.
[width="75%"] |======= |{42x-snapshot-version} | {website}{42x-snapshot-version}[Website] |{website}{42x-snapshot-version}/refdocs/reference/html/index.html[Multi-page HTML] |{website}{42x-snapshot-version}/refdocs/reference/htmlsingle/index.html[Single-page HTML] | {website}{42x-snapshot-version}/refdocs/reference/pdf/coherence-spring-reference.pdf[PDF] | {website}{42x-snapshot-version}/refdocs/api/index.html[API Doc.] |{main-release-version} | {website}{main-release-version}[Website] |{website}{main-release-version}/refdocs/reference/html/index.html[Multi-page HTML] |{website}{main-release-version}/refdocs/reference/htmlsingle/index.html[Single-page HTML] | {website}{main-release-version}/refdocs/reference/pdf/coherence-spring-reference.pdf[PDF] | {website}{main-release-version}/refdocs/api/index.html[API Doc.] |{main-snapshot-version} | {website}{main-snapshot-version}[Website]|{website}{main-snapshot-version}/refdocs/reference/html/index.html[Multi-page HTML] |{website}{main-snapshot-version}/refdocs/reference/htmlsingle/index.html[Single-page HTML] | {website}{main-snapshot-version}/refdocs/reference/pdf/coherence-spring-reference.pdf[PDF] | {website}{main-snapshot-version}/refdocs/api/index.html[API Doc.] |{3x-release-version} | {website}{3x-release-version}[Website] |{website}{3x-release-version}/refdocs/reference/html/index.html[Multi-page HTML] |{website}{3x-release-version}/refdocs/reference/htmlsingle/index.html[Single-page HTML] | {website}{3x-release-version}/refdocs/reference/pdf/coherence-spring-reference.pdf[PDF] | {website}{3x-release-version}/refdocs/api/index.html[API Doc.] |{3x-snapshot-version} | {website}{3x-snapshot-version}[Website] |{website}{3x-snapshot-version}/refdocs/reference/html/index.html[Multi-page HTML] |{website}{3x-snapshot-version}/refdocs/reference/htmlsingle/index.html[Single-page HTML] | {website}{3x-snapshot-version}/refdocs/reference/pdf/coherence-spring-reference.pdf[PDF] | {website}{3x-snapshot-version}/refdocs/api/index.html[API Doc.] |=======
NOTE: The http://maven.apache.org[Apache Maven]-based snapshots and releases for this project are published to http://repo1.maven.org/maven2/com/oracle/coherence/spring/[Maven Central].
== Supported Versions
[width="75%", cols="1,1,1,1,1,^1,1"] |=== |Coherence Spring | Java | Coherence CE | Spring | Boot | Jakarta | Git Branch/Tag
|4.2.x | 17
, 21
| 24.03
| 6.x
| 3.3.x
| ✔ | 4.2.x
|4.1.x | 17
, 21
| 24.03
| 6.x
| 3.2.x
| ✔ | main
|3.3.x | 11
| 22.06
| 5.x
| 2.x
| | 3.3.x
|===
== Quick Start
In order to get started quickly, please read the reference guide as it provides a detailed https://spring.coherence.community/{main-release-version}/refdocs/reference/htmlsingle/index.html#quickstart[Quickstart chapter] (v{main-release-version}).
Through the reference documentation we will also refer to various demo and sample applications. Those are part of this repository, and you can find those in the https://github.com/coherence-community/coherence-spring/tree/main/samples[samples] module.
== Building from Source
=== Requirements
In order to build Coherence Spring, you need to have installed:
- https://www.oracle.com/java/technologies/downloads/#java17[Java 17] (Java 21 is fine)
- https://help.github.com/set-up-git-redirect[Git]
=== Check out sources
Check out the project using https://git-scm.com/[Git]:
[source,bash,indent=0]
git clone https://github.com/coherence-community/coherence-spring.git cd coherence-spring
Coherence Spring uses https://maven.apache.org/[Apache Maven] as build tool. You do not need to have Maven installed to build the project. Simply use the provided https://github.com/takari/maven-wrapper[Maven Wrapper], e.g.:
-
Windows:
mvnw.cmd clean package
-
Linux/Mac:
./mvnw clean package
=== Build the entire project
Build the entire project using https://maven.apache.org/[Maven]:
[source,bash]
./mvnw clean package
==== Offline Builds
In case you are offline and you run into issues building the project, e.g. the Coherence cluster as part of JUnit tests does not start up successfully, then you may have to provide additional command line arguments:
[source,bash]
./mvnw clean package -DargLine="-Dcoherence.localhost=127.0.0.1 -Djava.net.preferIPv4Stack=true"
=== Build the Documentation
[source,bash]
./mvnw clean package -pl coherence-spring-docs
=== Build the project website
[source,bash]
./mvnw clean install -pl coherence-spring-site
=== Deploy the project website
[source,bash]
./mvnw deploy -pl coherence-spring-site
== Getting Support
In case you have questions or if you run into issue using the Coherence Spring project, please feel free to reach out to us either via:
- https://stackoverflow.com/tags/oracle-coherence[Stackoverflow] using the oracle-coherence tag
- https://join.slack.com/t/oraclecoherence/shared_invite/zt-9ufv220y-Leudk0o5ntgNV0xraa8DNw[Slack]
Both support channels are monitored by the project community.
== Contributing
We would love to review your https://help.github.com/articles/creating-a-pull-request[Pull requests]. Please see the link:CONTRIBUTING.md[contributor guidelines] for details.
== License
Coherence Spring is Open Source software released under link:LICENSE.txt[The Universal Permissive License] (UPL), Version 1.0.