Installation
Build Configuration
You can find the EclipseStore libraries in the Maven Central repository.
<dependency>
<groupId>org.eclipse.store</groupId>
<artifactId>storage-embedded</artifactId>
<version>4.0.1</version>
</dependency>
dependencies {
implementation 'org.eclipse.store:storage-embedded:4.0.1'
}
dependencies {
implementation("org.eclipse.store:storage-embedded:4.0.1")
}
libraryDependencies += "org.eclipse.store" % "storage-embedded" % "4.0.1"
<dependencies>
<dependency org="org.eclipse.store"
name="storage-embedded"
rev="4.0.1" />
</dependencies>
define 'my-app' do
compile.with 'org.eclipse.store:storage-embedded:4.0.1'
end
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
RULES_JVM_EXTERNAL_TAG = "2.8"
RULES_JVM_EXTERNAL_SHA = "79c9850690d7614ecdb72d68394f994fef7534b292c4867ce5e7dec0aa7bdfad"
http_archive(
name = "rules_jvm_external",
strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
sha256 = RULES_JVM_EXTERNAL_SHA,
url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = [
"org.eclipse.store:storage-embedded:4.0.1"
],
)
maven_jar(
name = "eclipsestore",
artifact = "org.eclipse.store:storage-embedded:4.0.1"
)
Modules
These are the different modules that make up EclipseStore.
Eclipse Serializer Modules
| ArtifactId | Description |
|---|---|
afs |
Abstract file system (AFS) layer. |
base |
Collection of common utilities. Math, IO, Exceptions, Threads, String operations, and so on. |
codegen |
Code generation framework for entity types and other generated artifacts. |
communication |
Communication layer for network-based data transfer and messaging. |
configuration |
General-purpose configuration layer. |
configuration-hocon |
Hocon extension for the configuration layer, which supports hocon, json and ini files. |
configuration-yaml |
Yaml extension for the configuration layer. |
nativememory |
Native (off-heap) memory management utilities. |
persistence |
Base persistence framework providing the foundation for object graph serialization and deserialization. |
persistence-binary |
Extension of the persistence base framework with a concrete implementation of the persistent form as binary data. This persistent form is superior to all text-based formats in storage and performance needs, making it the preferred method for storage and network serialization. |
persistence-binary-android |
Android-specific extension of the binary persistence layer. |
persistence-binary-jdk8 |
JDK 8+ specific extension of the binary persistence layer with type handlers for modern JDK types. |
serializer |
High-level serializer API providing a convenient entry point for object serialization. |
EclipseStore Modules
| ArtifactId | Description |
|---|---|
afs-aws |
Common AWS file system abstraction base module. |
afs-aws-dynamodb |
File system implementation for AWS DynamoDB. |
afs-aws-s3 |
File system implementation for AWS S3. |
afs-azure-storage |
File system implementation for Azure Cloud (Azure Storage). |
afs-blobstore |
Base for all blob store file system implementations. |
afs-googlecloud-firestore |
File system implementation for Google Cloud Firestore. |
afs-kafka |
File system implementation for Apache Kafka. |
afs-nio |
File system implementation for the non-blocking IO implementation (java.nio.file) of the JDK. |
afs-oraclecloud-objectstorage |
File system implementation for Oracle Cloud Services (Object Storage). |
afs-redis |
File system implementation for Redis. |
afs-sql |
File system implementation for SQL databases. |
cache |
JSR-107 (JCache) implementation for EclipseStore. |
cache-hibernate |
Hibernate cache region factory for EclipseStore. |
gigamap |
The GigaMap is a specialized collection aimed at optimizing performance and memory usage in EclipseStore. It utilizes off-heap bitmap indexing to facilitate lightning-fast searches and lazy loading of objects, eliminating the need for manual reference management. |
gigamap-jvector |
GigaMap JVector integration for vector search capabilities. |
gigamap-lucene |
A specialized index implementation which connects to a Lucene directory. |
integrations-spring-boot3 |
Spring Boot 3 integration for EclipseStore. |
integrations-spring-boot3-console |
Spring Boot 3 console with embedded REST UI for EclipseStore. |
integrations-cdi4 |
CDI 4 (Jakarta) extension for EclipseStore. |
storage |
Basic framework to manage a graph of Java data persisted as binary data as a database. Can be used both to implement an embedded database solution (in the same process as the Java application) and a standalone or server-mode database solution (in a separate process). Other forms of persistence than binary data are deliberately not supported because they would not bring any noteworthy advantages but many disadvantages for the task. |
storage-embedded |
Top-level framework for use in a Java application that adds an embedded database solution to its object graphs. Can be used directly in the program code of a Java application to comfortably and efficiently persist its data. |
storage-embedded-configuration |
Layer with support for external configuration files (XML, INI) and convenience functionality to create foundations for the embedded storage. |
storage-embedded-tools-storage-converter |
Tool for converting storage data between different formats. |
storage-embedded-tools-storage-migrator |
Tool for migrating storage data using OpenRewrite recipes. |
storage-restadapter |
Adapter for low-level storage data externalization. Used by the REST service to adapt to a EclipseStore Storage. |
storage-restclient |
Abstract REST client interface, which serves as a Java wrapper for the REST API. |
storage-restclient-app |
Executable client app with web user interface, which connects to a REST service. |
storage-restclient-jersey |
REST client implementation which utilizes Jersey as a webservice framework. |
storage-restservice |
Abstract REST service interface, which uses the REST adapter to access low level storage data. |
storage-restservice-javalin |
REST service implementation which utilizes Javalin and provides REST endpoints. |
storage-restservice-sparkjava (deprecated) |
REST service implementation which utilizes SparkJava and provides REST endpoints. (Deprecated, use storage-restservice-javalin instead.) |
storage-restservice-springboot |
REST service implementation for Spring Boot which provides REST endpoints. |