The primary goal of the Spring Data for Pivotal GemFire project is to make it easier to build highly scalable Spring powered applications using Pivotal GemFire as the underlying distributed, in-memory data management platform.
-
XML namespace to configure and create Pivotal GemFire resources declaratively with Spring
-
Annotation model to quickly and easily get started with Pivotal GemFire out-of-the-box
-
Simplifies working with Pivotal GemFire APIs
-
Spring Data Mapping infrastructure applied to POJOs stored in Pivotal GemFire
-
Pivotal GemFire Cache Transactions through Spring’s Declarative Transaction Management
-
Additional support for using Pivotal GemFire in Global, JTA Transactions through Spring’s Declarative Transaction Management
-
Spring Tool Suite Spring Project Templates for Pivotal GemFire
This project is governed by the Spring Code of Conduct. By participating, you are expected to uphold this code of conduct. Please report unacceptable behavior to spring-code-of-conduct@pivotal.io.
Here is a quick teaser of an application using Spring Data Repositories in Java:
public interface PersonRepository extends CrudRepository<Person, Long> {
List<Person> findByLastname(String lastname);
List<Person> findByFirstnameLike(String firstname);
}
@Service
public class MyService {
private final PersonRepository repository;
public MyService(PersonRepository repository) {
this.repository = repository;
}
public void doWork() {
repository.deleteAll();
Person person = new Person();
person.setFirstname("John");
person.setLastname("Blum");
repository.save(person);
List<Person> lastNameResults = repository.findByLastname("Blum");
List<Person> firstNameResults = repository.findByFirstnameLike("J*");
}
}
Configure a Pivotal GemFire cache and Region (REPLICATE, PARTITION and so on):
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:gfe-data="http://www.springframework.org/schema/data/gemfire"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/geode https://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/data/gemfire https://www.springframework.org/schema/data/geode/spring-data-gemfire.xsd">
<gfe:cache/>
<gfe:partitioned-region id="ExampleRegion" copies="2">
<bean id="gemfireTemplate" class="org.springframework.data.gemfire.GemfireTemplate" p:region-ref="ExampleRegion"/>
<gfe-data:repositories base-package="com.acme"/>
</beans>
Add the Maven dependency:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>${version}.RELEASE</version>
</dependency>
If you’d rather like the latest snapshots of the upcoming major version, use our Maven snapshot repository and declare the appropriate dependency version.
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-gemfire</artifactId>
<version>${version}.BUILD-SNAPSHOT</version>
</dependency>
<repository>
<id>spring-libs-snapshot</id>
<name>Spring Snapshot Repository</name>
<url>https://repo.spring.io/libs-snapshot</url>
</repository>
Having trouble with Spring Data? We’d love to help!
-
Check the reference documentation, and Javadocs.
-
Learn the Spring basics – Spring Data builds on Spring Framework, check the spring.io web-site for a wealth of reference documentation. If you are just starting out with Spring, try one of the guides.
-
If you are upgrading, check out the changelog for “new and noteworthy” features.
-
Ask a question - we monitor stackoverflow.com for questions tagged with
spring-data-gemfire
. You can also chat with the community on Gitter. -
Report bugs with Spring Data for Pivotal GemFire at jira.spring.io/browse/SGF.
Spring Data uses JIRA as issue tracking system to record bugs and feature requests. If you want to raise an issue, please follow the recommendations below:
-
Before you log a bug, please search the issue tracker to see if someone has already reported the problem.
-
If the issue doesn’t already exist, create a new issue.
-
Please provide as much information as possible with the issue report, we like to know the version of Spring Data that you are using and JVM version.
-
If you need to paste code, or include a stack trace use JIRA
{code}…{code}
escapes before and after your text. -
If possible try to create a test-case or project that replicates the issue. Attach a link to your code or a compressed file containing your code.
You don’t need to build from source to use Spring Data (binaries in repo.spring.io), but if you want to try out the latest and greatest, Spring Data can be easily built with the maven wrapper. You also need JDK 1.8.
$ ./mvnw clean install
If you want to build with the regular mvn
command, you will need Maven v3.5.0 or above.
Also see CONTRIBUTING.adoc if you wish to submit pull requests, and in particular please sign the Contributor’s Agreement before your first non-trivial change.
For examples on using the Spring Data for Pivotal GemFire, see the spring-gemfire-examples project.
Spring Data for Pivotal GemFire is Open Source software released under the Apache 2.0 license.