Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bimedia-fr/architect-stompjs
nodejs architect service that provide messaging based on stompjs.
https://github.com/bimedia-fr/architect-stompjs
Last synced: 23 days ago
JSON representation
nodejs architect service that provide messaging based on stompjs.
- Host: GitHub
- URL: https://github.com/bimedia-fr/architect-stompjs
- Owner: bimedia-fr
- License: apache-2.0
- Created: 2014-03-21T17:32:27.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T19:58:39.000Z (about 2 years ago)
- Last Synced: 2024-04-14T12:12:19.665Z (9 months ago)
- Language: JavaScript
- Size: 179 KB
- Stars: 0
- Watchers: 9
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
architect-stompjs
=================Expose a [stompit](https://www.npmjs.com/package/stompit) client as an [architect](https://www.npmjs.com/package/architect) service.
### Installation
```sh
npm install --save architect-stompjs
```### Config Format
```js
{
"packagePath": "architect-stompjs",
config: [{
host: 'localhost',
port: 61613
}]
}
```### Supported config elements
#### config
Config element is an array of servers as in [stompit connection servers](http://gdaws.github.io/node-stomp/api/connect-failover/).
#### srv
Aternatively, specify a SRV dns name to lookup hosts and ports from DNS.
```js
{
"packagePath": "architect-stompjs",
srv: {
name: 'activemq.example.com'
opts: {
connectHeaders: {
'heart-beat': '25000,25000'
}
}
}
}
```#### queues
Add a `queues` object to configure queues avaliable in your application.
#### topics
Add a `topics` object to configure topics avaliable in your application.
### Usage
Boot [Architect](https://github.com/c9/architect) :
```js
var path = require('path');
var architect = require("architect");var configPath = path.join(__dirname, "config.js");
var config = architect.loadConfig(configPath);architect.createApp(config, function (err, app) {
if (err) {
throw err;
}
console.log('application started');
});
```This module require [architect-log4js](https://github.com/bimedia-fr/architect-log4js) or equivalent as logging service.
Configure sptom service with `config.js` :
```js
module.exports = [{
packagePath: "architect-stompjs"
}{
packagePath: "architect-log4js"
}, './routes'];
```Consume *stomp* service in your application :
```js
{
"name": "routes",
"version": "0.0.1",
"main": "index.js",
"private": true,"plugin": {
"consumes": ["stomp"]
}
}
```Eventually use the `stomp` service in your app :
```js
module.exports = function setup(options, imports, register) {
var stomp = imports.stomp; //get stomp client
stomp.channel.send('/queue/myqueue', {}, 'application has started.');
register();
};
```### Using Queues Alias
Configure your alias in the architect `config.js` file :
```js
{
"packagePath": "architect-log4js",
config: [{
host: 'localhost',
port: 61613
}],
queues: {
'myqueue' : {
'destination': '/queue/my.queue.name.is.super.long'
'ack': 'client',
}
}
}
```Now you can send and recieve messages with the queue alias :
```js
module.exports = function setup(options, imports, register) {
var client = imports.stomp; //get stomp client
var myqueue = client.queues.myqueue;
myqueue.send('application has started.');
register();
};
```