Skip to content

synadia-io/orbit.java

Repository files navigation

Orbit

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.

Utilities

Project Description Release Version Snapshot
Retrier Extension for retrying anything 0.2.1 0.2.2-SNAPSHOT
Jetstream Publish Extensions General extensions for Jetstream Publishing 0.4.4 0.4.5-SNAPSHOT
Request Many Get many responses for a single core request. 0.1.1 0.1.2-SNAPSHOT
Encoded KeyValue Allow custom encoding of keys and values. 0.1.1 0.1.2-SNAPSHOT
Direct Batch Leverages direct message capabilities in NATS Server 0.0.4 0.0.5-SNAPSHOT
Batch Publish Publish an atomic batch 0.2.2 0.2.3-SNAPSHOT
Distributed Counters Leverage distributed counters functionality 0.2.2 0.2.3-SNAPSHOT
Scheduled Message Leverage ability to schedule a message 0.0.3 0.0.4-SNAPSHOT
Chaos Runner Run some NATS servers and cause chaos 0.0.8 0.0.9-SNAPSHOT
Partitioned Consumer Groups Partitioned Consumer Group funcitionality for JetStream 0.1.1 0.1.1-SNAPSHOT
Partitioned Consumer Groups CLI Partitioned Consumer Group CLI 0.1.0 N/A

Retrier

Extension for retrying anything.

Retrier README

Artifact 0.2.1 0.2.2 javadoc Maven Central

Jetstream Publish Extensions

General extensions for Jetstream Publishing

Jetstream Publish Extensions README

Artifact 0.4.4 0.4.5 javadoc Maven Central

Request Many

Extension to get many responses for a single core request.

Request Many README

Artifact 0.1.1 0.1.2 javadoc Maven Central

Encoded KeyValue

Extension over Key Value to allow custom encoding of keys and values.

Encoded KeyValue README

Artifact 0.0.4 0.0.5 javadoc Maven Central

Direct Batch

The direct batch functionality leverages the direct message capabilities introduced in NATS Server v2.11. The functionality is described in ADR-31

Direct Batch README

Artifact 0.1.4 0.1.5 javadoc Maven Central

Batch Publish

Utility to publish an atomic batch, a group of up to 1000 messages

Batch Publish README

Artifact 0.2.2 0.2.3 javadoc Maven Central

Distributed Counters

Utility to take leverage the distributed counter functionality.

Distributed Counters README

Artifact 0.2.2 0.2.3 javadoc Maven Central

Schedule Message

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.

Scheduled Message README

Artifact 0.0.3 0.0.4 javadoc Maven Central

Chaos Runner

Run some NATS servers and cause chaos by bringing them up and down.

Chaos Runner README

Artifact 0.0.8 0.0.9 javadoc Maven Central

Partitioned Consumer Groups

Implementation of the partitioned Consumer Group functionality, ported from and compatible with the Golang version.

Partitioned Consumer Groups README

Artifact 0.1.0 0.1.1 javadoc Maven Central

Dependencies

Gradle

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'
}

Maven

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>

Notes

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages