ruby-mqlight

MQ Light is designed to allow applications to exchange discrete pieces of information in the form of messages. This might sound a lot like TCP/IP networking, and MQ Light does use TCP/IP under the covers, but MQ Light takes away much of the complexity and provides a higher level set of abstractions to build your applications with.

This Ruby gem provides the high-level API by which you can interact with the MQ Light runtime.

See https://developer.ibm.com/messaging/mq-light/ for more details.

Getting Started

Prerequisites

Ruby, as a language, has a few different implementations. Currently, the MQ Light gem only supports the reference implementation, often referred to as Ruby MRI ("Matz's Ruby Interpreter").

You will need a Ruby 1.9.x runtime environment or newer to use the MQ Light API module. This can be installed from https://www.ruby-lang.org/, or by using your operating system's package manager.

The following are the currently supported platform architectures:

  • 64-bit runtime on Linux (x64)
  • 64-bit runtime on Mac OS X (x64)

You will receive an error if you attempt to use any other combination.

Limitations

This Ruby gem is subject to the follow limitations:

  • Requires an 1.0.2 release of the MQ Light server
  • No TLS/SSL support for secure encrypted connections for platform Mac (Mac OpenSSL 0.9.8 does not support TLS 1.2)

Usage

Install using gem:

gem install mqlight

Alternatively, add 'mqlight' as a runtime dependency in your gemspec / Gemfile.

API

The API has been documented using Yardoc tag formatting within the Ruby code and can either be viewed online from the Documentation link at https://rubygems.org/gems/mqlight, or locally by running the YARD tooling.

Samples

To run the samples, install the module via gem and navigate to the <install path>/samples folder, where the <install path> can be determined from the output of gem list --details mqlight.

Feedback

You can help shape the product we release by trying out the beta code and leaving your feedback.

Reporting bugs

If you think you've found a bug, please leave us feedback.

Release notes

1.0.2018091900

  • Experimental support for Ruby 2.4

1.0.2017051700

  • Bugfix for file handle leak on client stop

1.0.2016020809

  • Support for sending and receiving
  • Support for 'at-most-once' and 'at-least-once' messaging.
  • Support for wildcard subscriptions.
  • Support for shared subscriptions.
  • Support for multiple services
  • Support for round-tripping binary or JSON messages
  • Support for dealing with malformed messages
  • Support for SASL
  • Support for SSL on Linux

1.0.2015020300.beta

  • Initial beta release.
  • Support for sending and receiving 'at-most-once' messages.
  • Support for wildcard subscriptions.
  • Support for shared subscriptions.