# architect-stompjs

> nodejs architect service that provide messaging based on stompjs.

Latest version **2.2.1** (published 2021-06-10) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install architect-stompjs
pnpm add architect-stompjs
yarn add architect-stompjs
bun add architect-stompjs
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.2.1 |
| Published | 2021-06-10 |
| First published | 2014-03-22 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 25.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | jerome creignou |
| Maintainers | jcreigno |
| Keywords | architect, stompjs |

## Links

- npm: https://www.npmjs.com/package/architect-stompjs
- Repository: https://github.com/bimedia-fr/architect-stompjs
- Homepage: https://github.com/bimedia-fr/architect-stompjs#readme
- Issues: https://github.com/bimedia-fr/architect-stompjs/issues
- npm.io page: https://npm.io/package/architect-stompjs

## Dependencies (1)

- [stompit](https://npm.io/package/stompit.md) 1.0.0

## Alternatives

- [jsforce](https://npm.io/package/jsforce.md) — 851.2K weekly downloads
- [react-native-qrcode-svg](https://npm.io/package/react-native-qrcode-svg.md) — 693.5K weekly downloads
- [@salesforce/plugin-data](https://npm.io/package/@salesforce/plugin-data.md) — 394.9K weekly downloads
- [@backstage/plugin-search-common](https://npm.io/package/@backstage/plugin-search-common.md) — 308.5K weekly downloads
- [@chain-registry/types](https://npm.io/package/@chain-registry/types.md) — 38.4K weekly downloads

## Recent versions

- 2.2.1 (latest) — 2021-06-10
- 2.1.3 — 2021-03-08
- 2.1.2 — 2021-03-07
- 2.1.1 — 2021-03-07
- 2.1.0 — 2021-03-06
- 2.0.1 — 2020-10-24
- 1.2.3 — 2020-07-29
- 1.2.2 — 2020-05-26
- 1.2.1 — 2020-01-21
- 2.0.0 — 2018-10-19
- 1.2.0 — 2018-10-14
- 1.1.0 — 2018-06-29
- 0.1.2 — 2014-03-25
- 0.1.1 — 2014-03-24
- 0.0.1 — 2014-03-22

## 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();
};
```

---
_Source: https://npm.io/package/architect-stompjs · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
