com.orctom:rmq

RocksDB based Embedded Persistent Queue

License

License

GroupId

GroupId

com.orctom
ArtifactId

ArtifactId

rmq
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

RocksDB based Embedded Persistent Queue
Project URL

Project URL

https://github.com/orctom/rmq/
Source Code Management

Source Code Management

https://github.com/orctom/rmq/

Download rmq

How to add to project

<!-- https://jarcasting.com/artifacts/com.orctom/rmq/ -->
<dependency>
    <groupId>com.orctom</groupId>
    <artifactId>rmq</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.orctom/rmq/
implementation 'com.orctom:rmq:1.0'
// https://jarcasting.com/artifacts/com.orctom/rmq/
implementation ("com.orctom:rmq:1.0")
'com.orctom:rmq:jar:1.0'
<dependency org="com.orctom" name="rmq" rev="1.0">
  <artifact name="rmq" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.orctom', module='rmq', version='1.0')
)
libraryDependencies += "com.orctom" % "rmq" % "1.0"
[com.orctom/rmq "1.0"]

Dependencies

compile (4)

Group / Artifact Type Version
org.rocksdb : rocksdbjni jar 5.11.3
com.orctom.laputa : laputa-utils jar 0.3
com.google.guava : guava jar 24.1-jre
org.slf4j : slf4j-api jar 1.7.21

test (4)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.1.7
org.apache.commons : commons-lang3 jar 3.4
junit : junit jar 4.12
org.hamcrest : hamcrest-library jar 1.3

Project Modules

There are no modules declared in this project.

RMQ

A simple and embedded message queue, that:

  • Only can be operated by one process.
  • Supports persistence (into hard drive).
  • Supports TTL (messages will be deleted in 2 hours by default, configurable).

How to use it

Add it to your project, e.g. in Maven:

    <dependency>
      <groupId>com.orctom</groupId>
      <artifactId>rmq</artifactId>
      <version>${rmq.version}</version>
    </dependency>

Acquiring a RMQ instance (multiton):

RMQ rmq = RMQ.getInstance();

// or
RMQOptions options = new RMQOptions(
    "dummy", // id
    1000,    // ttl in seconds
    false    // batch mode persistent
);
RMQ rmq = RMQ.getInstance(options);

Subscribing:

rmq.subscribe(topic, new RMQConsumer() {...});

Sending message to the Queue:

RMQ.getInstance().send(topic, "payload");

Closing it when shutting down:

RMQ.getInstance().close();

Versions

Version
1.0