Messaging, STOMP server, Camel component, and JMS provider for Hazelcast
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
hazelcastmq-camel
hazelcastmq-core
hazelcastmq-examples
hazelcastmq-jms
hazelcastmq-spring
hazelcastmq-stomp
yeti
.gitignore
HISTORY.md
LICENSE.txt
README.md
pom.xml

README.md

HazelcastMQ

HazelcastMQ provides a simple messaging layer on top of the basic Queue and Topic data structures provided by Hazelcast, an in-memory data grid. HazelcastMQ emphasizes simple configuration and reliable clustering while providing an understandable and flexible messaging API. HazelcastMQ builds on the core features of Hazelcast such as scalability and resilience while maintaining a small footprint and few dependencies. HazelcastMQ can be easily embedded in a single JVM or clustered across a huge number of nodes.

HazelcastMQ is divided into multiple components that can be used independently depending on your integration needs:

Hazelcast Components

  • hazelcastmq-core: The core MQ library that provides a JMS 2.0-like API for sending and receiving messages.
  • hazelcastmq-camel: An Apache Camel component implementation for HazelcastMQ supporting Camel's integration framework and Enterprise Integration Patterns (EIP).
  • hazelcastmq-jms: A JMS 1.1 implementation which layers on top of HazelcastMQ Core.
  • hazelcastmq-stomp: A STOMP server which maps all SEND and SUBSCRIBE commands to HazelcastMQ Core producers and consumers.
  • hazelcastmq-spring: Provides integrations with the Spring Framework such as transaction management and synchronization.
  • yeti: A STOMP server and client framework built on Netty to make it simple to build STOMP implementations for existing brokers.

Examples

Refer to each module for code examples or browse through the hazelcastmq-examples module.

Getting Builds

The source, javadoc, and binaries are available in the mpilone/mvn-repo GitHub repository. You can configure Maven or Ivy to directly grab the dependencies by adding the repository:

<repositories>
     <repository>
         <id>mpilone-snapshots</id>
         <url>https://github.com/mpilone/mvn-repo/raw/master/snapshots</url>
     </repository>
     <repository>
         <id>mpilone-releases</id>
         <url>https://github.com/mpilone/mvn-repo/raw/master/releases</url>
     </repository>
 </repositories>

And then adding the dependency:

<dependency>
    <groupId>org.mpilone.hazelcastmq</groupId>
    <artifactId>hazelcastmq-core</artifactId>
    <version>X.X.X</version>
</dependency>

Background

Refer to my initial blog post.