Клиент Stomp не получает сообщения - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь реализовать программу драйвера, которая будет кормить мои объекты JSON процесса. По сути, мне нужно взять сообщения из CSV-файла и опубликовать их через STOMP. Затем у меня будет подписчик, который будет прослушивать новые сообщения, делать расчеты и отправлять данные в базу данных Монго.

const Sleep       = require('sleep');
const CSV         = require('csvtojson');
const MongoClient = require('mongodb').MongoClient;
const ParseJson   = require('parse-json');
const Stomp       = require('stomp-client');
const StompClient = new Stomp([hostname], 61613, [username], [password]);

var db;

MongoClient.connect(url, { useNewUrlParser: true }, (err, database) => {

    if (err) { throw err; }

    db = database.db([db_name]);
});

StompClient.connect( (connected, rejected) => {

    if ( rejected ) { throw rejected; }

    StompClient.subscribe([destination], (body, headers) => {
        console.log("Received message", body);
    });

    CSV()
    .fromFile([file_path])
    .then( (jsonArray) => {
        jsonArray.forEach( (json) => {
            StompClient.publish([destination], json);
            Sleep.sleep(1);
        });
     });
});

Я получаю заголовки сообщений, но тело всегда пусто. Если я жестко закодирую сообщение, то получаю тело. Это как-то связано с обработкой результатов в Обещании? Как я могу решить эту проблему?

...