Orbit.java is a set of independent utilities or extensions around the JNATS ecosystem that aims to boost productivity and provide a higher abstraction layer for the JNATS client. Note that these libraries will evolve rapidly and API guarantees are general not made until the specific project has a v1.0.0 version.
Extension for retrying anything.
Current Release: 0.2.1 Current Snapshot: 0.2.2-SNAPSHOT
General extensions for Jetstream Publishing
Current Release: 0.4.3 Current Snapshot: 0.4.3-SNAPSHOT
Extension to get many responses for a single core request.
Current Release: 0.1.0 Current Snapshot: 0.1.1-SNAPSHOT
Extension over Key Value to allow custom encoding of keys and values.
Current Release: 0.0.1 Current Snapshot: 0.0.2-SNAPSHOT
The direct batch functionality leverages the direct message capabilities introduced in NATS Server v2.11. The functionality is described in ADR-31
Current Release: 0.1.3 Current Snapshot: 0.1.4-SNAPSHOT
Run some NATS servers and cause chaos by bringing them up and down.
Current Release: 0.0.3 Current Snapshot: 0.0.4-SNAPSHOT
Utility to publish an atomic batch, a group of up to 1000 messages
Current Release: 0.2.0 Current Snapshot: 0.2.1-SNAPSHOT
Utility to take advantage of the distributed counter functionality.
Current Release: 0.1.0 Current Snapshot: 0.1.1-SNAPSHOT
Utility to leverage the ability to schedule a message to be published at a later time. Eventually the ability to schedule a message to publish based on a cron or schedule.
Current Release: 0.0.1 Current Snapshot: 0.0.2-SNAPSHOT
The libraries are available in the Maven central repository, and can be imported as a standard dependency in your build.gradle
file:
dependencies {
implementation 'io.synadia:{artifact}:{major.minor.patch}'
}
Releases are available at Maven Central:
repositories {
mavenCentral()
}
If you need a snapshot version, you must add the url for the snapshots.
repositories {
mavenCentral()
maven {
url "https://central.sonatype.com/repository/maven-snapshots/"
}
}
dependencies {
implementation 'io.synadia:{artifact}:{major.minor.patch}-SNAPSHOT'
}
The libraries are available on the Maven central repository, and can be imported as a normal dependency in your pom.xml
file:
<dependency>
<groupId>io.synadia</groupId>
<artifactId>{artifact}</artifactId>
<version>{major.minor.patch}</version>
</dependency>
Releases are available at Maven Central. If you need a snapshot version, you must enable snapshots and change your dependency.
<repositories>
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependency>
<groupId>io.synadia</groupId>
<artifactId>{artifact}</artifactId>
<version>{major.minor.patch}-SNAPSHOT</version>
</dependency>
If you are importing the source code from this repo, please be aware that each project is its own library. Some projects have classes with the same name, but each project is completely independent on another, except if one specifically depends on another. For example, the publish extensions depends on retrier, but it includes the library via gradle, not the source code.