2013-07-26 2 views

ответ

0

WSO2 Message Broker поддерживает расширенный протокол очередности сообщений (AMQP) v0.91.

Я не пробовал это сам, но вы должны иметь возможность использовать клиент Node.js для подключения к WSO2 MB.

См. amqp.node проект в GitHub.

Вы можете подключиться к WSO2 МБ с помощью URL-адреса соединения AMQP. См. Документ «Sending and Receiving Messages Using Queues», чтобы понять, как указать URL-адрес соединения AMQP для подключения к WSO2 MB.

Надеюсь, это поможет!

Спасибо!

3

Поскольку брокер сообщений WSO2 поддерживает протокол AMQP, вы должны быть в состоянии сделать это с помощью любой клиентской библиотеки NodeJS AMQP 0-9-1. Некоторые из примеров,

  1. amqp.node: https://github.com/squaremo/amqp.node
  2. узла-AMQP: https://github.com/postwait/node-amqp

В следующем примере кода, написанная с использованием библиотеки amqp.node может быть использована в качестве клиента NodeJS к публиковать или получать сообщения от WSO2 Message Broker. Для установления соединения с Message Broker вы должны использовать формат amqp://{username}:{password}@{hostname}:{port}. Все сообщения будут отправляться как байтовые сообщения, но могут быть получены как текст.

библиотека «amqp.node» предоставляет богатый API, который может быть использован и для других операций MB очереди.

// Sample Publisher 
var queuename = 'MyQueue'; 
var openConn = require('amqplib').connect('amqp://admin:[email protected]:5672'); // amqp://{username}:{password}@{hostname}:{port} is default AMQP connection URL of WSO2 MB 
openConn.then(function(conn) { 
    var ok = conn.createChannel(); 
    ok = ok.then(function(channel) { 
    channel.assertQueue(queuename); 
    channel.sendToQueue(queuename, new Buffer('New Message')); 
    }); 
    return ok; 
}).then(null, console.warn); 

Код потребительского клиента выглядит следующим образом.

// Sample Consumer 
var queuename = 'MyQueue'; 
var openConn = require('amqplib').connect('amqp://admin:[email protected]:5672'); // amqp://{username}:{password}@{hostname}:{port} is default AMQP connection URL of WSO2 MB 
openConn.then(function(conn) { 
    var ok = conn.createChannel(); 
    ok = ok.then(function(channel) { 
    channel.assertQueue(queuename); 
    channel.consume(queuename, function(msg) { 
     console.log(msg.content.toString()); 
     channel.ack(msg); 
    }); 
    }); 
    return ok; 
}).then(null, console.warn); 
Смежные вопросы