Chapter 5. Using the API

For more information, see the AMQ JavaScript API reference and AMQ JavaScript example suite.

5.1. Handling messaging events

AMQ JavaScript is an asynchronous event-driven API. To define how the application handles events, the user registers event-handling functions on the container object. These functions are then called as network activity or timers trigger new events.

Example: Handling messaging events

var rhea = require("rhea");
var container = rhea.create_container();

container.on("sendable", function (event) {
    console.log("A message can be sent");

container.on("message", function (event) {
    console.log("A message is received");

These are only a few common-case events. The full set is documented in the AMQ JavaScript API reference.

5.3. Creating a container

The container is the top-level API object. It is the entry point for creating connections, and it is responsible for running the main event loop. It is often constructed with a global event handler.

Example: Creating a container

var rhea = require("rhea");
var container = rhea.create_container();

5.4. Setting the container identity

Each container instance has a unique identity called the container ID. When AMQ JavaScript makes a network connection, it sends the container ID to the remote peer. To set the container ID, pass the id option to the create_container method.

Example: Setting the container identity

var container = rhea.create_container({id: "job-processor-3"});

If the user does not set the ID, the library will generate a UUID when the container is constucted.