Skip to content

att/vertx-eventbus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vertx-eventbus

This is a Node.js Module that manages the vert.x SockJS event bus bridge for a node application. This is a lightweight version that has minimal dependencies. Based of an existing open source vert.x eventbus bridge client node module:

https://github.com/muraken720/vertx-eventbus-client

However, that module was dependent on some unnecessary modules (JSDOM) and another sockJS module that required a C++ compiler during installation (ws and thus contextify). Some of these modules were not compatible with the latest version of node (> 0.10) and thus would not install locally on Windows machines and on the occassional Macbook pro. Developers were wasting too much time configuring their individual development machine to build and debug a node application and were forced to use a VM running linux.

Thus, I re-wrote the module to utilize another sockjs module:

https://github.com/humanchimp/node-sockjs-client

This reduced the dependency modules without losing any functionality. I did re-name a few things (i.e. CONNECTED instead of OPEN).

###Installation

Its a node module so refer to the latest node documentation for installation. You could simply add the following to you're package.json:

  "dependencies": {
    "vertx-eventbus" : "git+https://github.com/att/vertx-eventbus"
  }

###Initialization

Create an instance of the event bus:

var vertx = require('vertx-eventbus');
var eventbus = new vertx.EventBus('http://localhost:8080/eventbus');

###API

####send

send(address, message, replyHandler)
  • address - vert.x event bus address you want the message to be sent to
  • message - the message itself.
  • replyHandler (optional) - an optional reply handler to call with the message reply

####publish

publish(address, message)
  • address - vert.x event bus address you want the message to be published to
  • message - the message itself.

####registerHandler

registerHandler(address, handler)

Register's a handler for a specific address.

  • address - the vert.x event bus address you want to receive messages
  • handler - the handler that is called when a message is sent or published to you're address

####unregisterHandler

unregisterHandler(address, handler)

UNRegister's a handler for a specific address.

  • address - the vert.x event bus address that was registered to receive messages
  • handler - the associated handler that was registered with

####status

status()

Returns the current status of the connection:

  • CONNECTING
  • CONNECTED
  • CLOSING
  • CLOSED

###Callbacks

####onopen

This is called when SockJS has successfully connected to the vert.x eventbus bridge.

####onclose

This is called when SockJS has closed the connection to the vert.x eventbus bridge. Expect this to happen even with ping'ing occuring.

###TEST

####Server side test code You need an installation of vertx.io on you're local machine to start the server side test code.

vertx run test/Server.java

####Client side test code You need node.js installed on you're local machine to run the client side test code.

node test/node-client.js