/akka-mqlight

Akka MQLight client and remoting layer

Primary LanguageScala

akka-mqlight provides the following APIs;

  • akka-mqlight-client is a simple wrapper for the java java-mqlight library which is an AMQP1.0 client suitable for java clients accessing IBM's MQ Light.

  • akka-mqlight-remote is an implementation of the Akka remote Transport interface interface. This implementation is a drop-in replacement(*) for the existing TCP/UCP based Transport implementations and lets you use Akka remoting via an the MQ Light message broker. This could be used in cases where direct network connections are not possible for instance in a PAAS type environment.

  • akka-mqlight-streams is a Reactive Streams driver for AMQP using the java-mqlight API.

(*) This is very much a case of 'in theory', there's still the question of if this is even a good idea in the first place!

Getting Started

You should then be able to build the library with a simple mvn install.

Included in the akka-mqlight-remote test directory is a copy of the TransformationApp cluster sample from Typesafe (see transformation).

After starting a local MQ Light instance you can start the TransformationApp by running mvn exec:exec in the akka-mqlight-remote directory.

For a streams example take a look at MqLighStreamsSample in the test directory of the akka-mqlight-stream module.

Contributing

At this point I would consider this implementation a proof of concept so feel free to try it out and let me know how it works for you but its mostly likely not ready for prime time.

Attributions

If anyone is wondering, it was Richard Bowker's idea to try out Akka clustering over AMQP!

License

akka-mqlight-remote and akka-mqlight-client are Copyright 2015 Bernard Leach and Licensed under the MIT license.

The TransformationApp code is released by Typesafe under Public Domain (cc0). See LICENSE.