migratorydata-client
    TypeScript icon, indicating that this package has built-in type declarations

    6.0.9 • Public • Published

    MigratoryData Client for Node.js

    Below you can find a tutorial and a usage example. For more information please refer to MigratoryData Documentation.

    Usage

    Install the MigratoryData client library version 6 using npm use the following command (MigratoryData client version 6 can be used with the MigratoryData server 6.0.1 or later and the MigratoryData KE server 6.0.1 or later):

        npm install migratorydata-client@~6.0.1
    

    To install MigratoryData client library version 5 use the following command (MigratoryData client version 5 can be used with MigratoryData Server 5.0.*):

        npm i migratorydata-client@~5.1.10
    

    Create a MigratoryData client:

        require("migratorydata-client");
        var client = new MigratoryDataClient();  

    Initialize the MigratoryData client:

        client.setMessageHandler(function(message) {
            console.log(message.subject + " = " + message.content);
        });
        
        client.setStatusHandler(function(event) {
            console.log("Status : " + event.type + " : " + event.info);	
        });
        
        client.setEntitlementToken("some-token");
        client.setServers([ "http://127.0.0.1:8800" ]);
        client.subscribe([ "/server/status" ]);

    Connect to the MigratoryData server and start receiving events:

        client.connect();

    Disconnect from the MigratoryData server:

        client.disconnect();

    Example client application

    Copy the code below to a file named echo-client.js and run it using the following command:

    $ node echo-client.js

    The client application connects to the MigratoryData server deployed at localhost:8800, subscribes to a subject /server/status, publishes a message every second on the same subject to the MigratoryData server, and receives from the MigratoryData server the published message.

    require("migratorydata-client");
    
    function publish() {
        var date = new Date();
        var time = date.getTime();
    
        var message = {
            subject : "/server/status",
            content : "content-" + time,
            closure : "id-" + time
        };
    
        client.publish(message);
    }
    
    var client = new MigratoryDataClient();
    
    // uncomment next line for setups using load balancing with DNS round-robin
    //client.setDnsOptions({dnsResolve: true});
    
    client.setMessageHandler(function(message) {
        console.log("Got message : [" + message.subject + " = " + message.content + "]");
    });
    
    client.setStatusHandler(function(event) {
        console.log("Status : " + event.type + " : " + event.info);
        
        // in this example, publication starts once it gets NOTIFY_SERVER_UP
        if (event.type == MigratoryDataClient.NOTIFY_SERVER_UP) {
            publish();
        }
        
        // normally, next publication should be performed once the client gets 
        // the status of the previous publication
        if (event.type ==  MigratoryDataClient.NOTIFY_PUBLISH_OK) {
            // publish a new message after let's say 1000 milliseconds
            setTimeout(function() {
                 publish();
            }, 1000);
        }
        
        if (event.type ==  MigratoryDataClient.NOTIFY_PUBLISH_FAILED) {
            // normally the previous message should be republished here
        }
        
        if (event.type ==  MigratoryDataClient.NOTIFY_PUBLISH_DENIED) {
            console.log("Check your entitlement token");
        }
    
    });
    
    client.setEntitlementToken("some-token");
    client.setServers([ "http://127.0.0.1:8800" ]);
    client.subscribe([ "/server/status" ]);
    
    client.connect();

    Install

    npm i migratorydata-client

    DownloadsWeekly Downloads

    214

    Version

    6.0.9

    License

    SEE LICENSE IN LICENSE.txt

    Unpacked Size

    117 kB

    Total Files

    6

    Last publish

    Collaborators

    • migratorydata