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

Module Description Docs Release Version Snapshot
Retrier Extension for retrying anything README.md 0.2.1 0.2.2-SNAPSHOT
Jetstream Publish Extensions General extensions for Jetstream Publishing README.md 0.4.4 0.4.5-SNAPSHOT
Request Many Get many responses for a single core request. README.md 0.1.1 0.1.2-SNAPSHOT
Encoded KeyValue Allow custom encoding of keys and values. README.md 0.1.1 0.1.2-SNAPSHOT
Direct Batch Leverages direct message capabilities in NATS Server README.md 0.0.4 0.0.5-SNAPSHOT
Batch Publish Publish an atomic batch README.md 0.0.0 0.0.0-SNAPSHOT
Distributed Counters Leverage distributed counters functionality README.md 0.2.0 0.2.1-SNAPSHOT
Scheduled Message Leverage ability to schedule a message README.md 0.0.2 0.0.3-SNAPSHOT
Chaos Runner Run some NATS servers and cause chaos README.md 0.0.8 0.0.9-SNAPSHOT

Retrier

Extension for retrying anything.

Current Release: 0.2.1   Current Snapshot: 0.2.2-SNAPSHOT

README Artifact javadoc Maven Central

Jetstream Publish Extensions

General extensions for Jetstream Publishing

Current Release: 0.4.4   Current Snapshot: 0.4.5-SNAPSHOT

README Artifact javadoc Maven Central

Request Many

Extension to get many responses for a single core request.

Current Release: 0.1.1   Current Snapshot: 0.1.2-SNAPSHOT

README Artifact javadoc Maven Central

Encoded KeyValue

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

Current Release: 0.0.4   Current Snapshot: 0.0.5-SNAPSHOT

README Artifact 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

Current Release: 0.1.4  Current Snapshot: 0.1.5-SNAPSHOT

README Artifact javadoc Maven Central

Batch Publish

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

Current Release: 0.2.2  Current Snapshot: 0.2.3-SNAPSHOT

README Artifact javadoc Maven Central

Distributed Counters

Utility to take leverage the distributed counter functionality.

Current Release: 0.2.0   Current Snapshot: 0.2.1-SNAPSHOT

README Artifact javadoc Maven Central

Scheduled 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.

Current Release: 0.0.2   Current Snapshot: 0.0.3-SNAPSHOT

README Artifact javadoc Maven Central

Chaos Runner

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

Current Release: 0.0.8   Current Snapshot: 0.0.9-SNAPSHOT

README Artifact 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

No packages published

Contributors 3

  •  
  •  
  •