# Lightstreamer JMS Extender Node.js Client #

## Overview ##
The Lightstreamer JMS Extender Node.js Client enables any JavaScript application running on the Node.js runtime to act as a *JMS* client, that is, ready to connect to a JMS broker via Lightstreamer JMS Extender.

The library is designed to be as class-by-class and method-by-method equivalent to JMS API 2.0 as possible.

## Installation ##

The library is available as npm package, so you can download and install it through:

```
npm install lightstreamer-jms-node-client
```

## Development

Access the module:

```js
const jms = require("lightstreamer-jms-node-client");
```

Open a session against Lightstreamer JMS Extender, create a Topic Connection and connect to the JMS broker:

```js
jms.TopicConnectionFactory.createTopicConnection("http://localhost:8080/", "ActiveMQ", null, null, {
  onConnectionCreated: function(conn) {
    var topicSession = conn.createSession(false, "PRE_ACK");
    .....
    conn.start();
  }
});
```

Create a Topic Subscription and send it to the broker:

```js
var topic = topicSession.createTopic("stocksTopic");
var consumer = topicSession.createConsumer(topic, null);
```

Listen for messages:

```js
consumer.setMessageListener({
  onMessage: function(message) {
    var feedMessage = message.getObject();
    var key = feedMessage.itemName;
    var values = feedMessage.currentValues;
    console.log(values["stock_name"] + ": " + values["last_price"]);
  }
});
```

## Compatibility
- Compatible with JMS Extender since 2.0.0.
- Based on Lightstreamer SDK for Node.js Clients version 8.0.5 build 1791.
- Compatible with code developed with the previous version.

## Changelog
See detailed changes [here](https://lightstreamer.com/sdks/ls-jms-nodejs-client/3.0.1/CHANGELOG.html).

## Documentation
- [API Reference](https://lightstreamer.com/sdks/ls-jms-nodejs-client/3.0.1/api/index.html)
- Chapter ["Client Application Development"](https://lightstreamer.com/distros/jmsext/2.1.0/docs/JMS%20Extender%20Documentation.pdf) of _JMS Extender Documentation_

