3.0.0 • Published 2 years ago

lightstreamer-jms-web-client v3.0.0

Weekly downloads
21
License
-
Repository
github
Last release
2 years ago

Lightstreamer JMS Extender Web Client

Overview

The Lightstreamer JMS Extender Web Client enables any JavaScript application running inside the web browser 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

npm

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

npm install lightstreamer-jms-web-client

Then load it from local node_modules:

<html>
<head>
  <script src="./node_modules/lightstreamer-jms-web-client/dist/lightstreamer-jms.js"></script>
  ...
</html>

cdn

The library is also available on unpkg, to which you can point directly in the script tag:

<script src="https://unpkg.com/lightstreamer-jms-web-client@3.0.0/dist/lightstreamer-jms.js"></script>

Development

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

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:

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

Listen for messages:

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 Web Clients version 8.0.3 build 1800.
  • Compatible with code developed with the previous version.

Changelog

See detailed changes here.

Documentation