Chapter 2. Installation
This chapter guides you through the steps to install AMQ JavaScript in your environment.
2.1. Prerequisites
- You must have a subscription to access AMQ release files and repositories.
-
You must install the
npmcommand line tool in your environment. See the npm website for more information. - To use AMQ JavaScript, you must install Node.js in your environment. See the Node.js website for more information.
-
AMQ JavaScript depends on the Node.js
debugmodule. See the debug npm page for installation instructions.
2.2. Using the Red Hat NPM registry
Configure your NPM environment to download the client library from the Red Hat NPM registry.
Procedure
Use the
npm config setcommand to add the Red Hat NPM registry to your environment:$ sudo npm config set @redhat:registry https://npm.registry.redhat.com
Use the
npm installcommand to install the client:$ sudo npm install -g @redhat/rhea@1.0.24-redhat-00004
The procedure above is for system-wide installations. You can run the commands without sudo and without the -g option to perform local installations.
To configure your environment to use the installed library, add the node_modules/@redhat directory to the NODE_PATH environment variable:
Red Hat Enterprise Linux 7
$ export NODE_PATH=/opt/rh/rh-nodejs14/root/usr/lib/node_modules/@redhat:$NODE_PATH
Red Hat Enterprise Linux 8
$ export NODE_PATH=/usr/local/lib/node_modules/@redhat:$NODE_PATH
Windows
$ set NODE_PATH=%AppData%\Roaming\npm\node_modules\@redhat;%NODE_PATH%
To test your installation, use the following command. It prints OK to the console if it successfully imports the installed library.
$ node -e 'require("rhea")' && echo OK
OK2.3. Deploying the client in a browser
AMQ JavaScript can run inside a web browser. The NPM package includes a file named rhea.js at the following location that can be used in browser-based applications:
/usr/lib/node_modules/@redhat/rhea/dist/rhea.js
Copy the rhea.js file to a location exposed by your web server and reference it using the HTML <script> element, as in this example:
Example: Running the client in a browser
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script src="rhea.js"></script>
</head>
<body>
<script>
const rhea = require("rhea");
const container = rhea.create_container();
container.on("message", (event) => {
console.log(event.message.body);
});
const ws = container.websocket_connect(WebSocket);
const details = ws("ws://example.net:5673", ["binary", "AMQPWSB10", "amqp"])
const conn = container.connect({"connection_details": details});
conn.open_receiver("notifications");
</script>
</body>