react-native-rabbitmq

A RabbitMq component for React Native.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
react-native-rabbitmq
29280.6.74 years ago7 years agoMinified + gzip package size for react-native-rabbitmq in KB

Readme

Todo

Installation

IOS

npm install react-native-rabbitmq --save Installation with CocoaPods
  1. In the Podfile uncomment "useframeworks" (Optional):
``` useframeworks! ```
  1. Add the following to your Podfile, use master because needed fix is not a tag:
``` pod 'react-native-rabbitmq', :path => '../node
modules/react-native-rabbitmq' pod 'RMQClient', :git => 'https://github.com/rabbitmq/rabbitmq-objc-client.git' ```
  1. Install the cocapods:
``` pod install ``` In xcode add a recursive Header Search Path: ``` $(SRCROOT)/Pods ``` You need to change some things, to make it work: ios\Pods\RMQClient\RMQClient\RMQValues.h Line 53 ``` @import JKVValue; ``` to ```
import "JKVValue.h"
``` ios\Pods\JKVValue\JKVValue\Public\JKVValue.h ```
import
import
import
import
``` to ```
import "JKVValueImpl.h"
import "JKVMutableValue.h"
import "JKVObjectPrinter.h"
import "JKVFactory.h"
``` ios\Pods\RMQClient\RMQClient\RMQTCPSocketTransport.h ``` @import CocoaAsyncSocket; ``` to ```
import "GCDAsyncSocket.h"
``` react-native link

Android

npm install react-native-rabbitmq --save react-native link

Usage

``` import { Connection, Exchange, Queue } from 'react-native-rabbitmq'; const config = {
host:'',
port:5672,
username:'user',
password:'password',
virtualhost:'vhost',
ttl: 10000 // Message time to live,
ssl: true // Enable ssl connection, make sure the port is 5671 or an other ssl port
} let connection = new Connection(config); connection.on('error', (event) => { }); connection.on('connected', (event) => {
let queue = new Queue( this.connection, {
name: 'queue_name',
passive: false,
durable: true,
exclusive: false,
consumer_arguments: {'x-priority': 1}
});
let exchange = new Exchange(connection, {
name: 'exchange_name',
type: 'direct',
durable: true,
autoDelete: false,
internal: false
});
queue.bind(exchange, 'queue_name');
// Receive one message when it arrives
queue.on('message', (data) => {
});
// Receive all messages send with in a second
queue.on('messages', (data) => {
});
}); let message = 'test'; let routingkey = ''; let properties = {
expiration: 10000
} exchange.publish(data, routing
key, properties) ```