0.7.2 • Published 2 years ago

react-native-rabbit v0.7.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Installation

RN 0.60 >

Android

npm install react-native-rabbit --save

IOS

npm install react-native-rabbit --save

cd ./ios

change in the Podfile line 1:
platform :ios, '9.0' to platform :ios, '10.0'

pod install

Usage

Consumer

import { Connection, Exchange, Queue } from 'react-native-rabbit';

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
}

const queue_name = '' ;
const exchange_name = '' ;
let connection = new Connection(config);

connection.on('error', (event) => {
    console.log(event);
});

connection.on('connected', (event) => {
    console.log(event);
	let queue = new Queue( connection, {
		name: queue_name,
		passive: false,
		durable: true,
		exclusive: false,
		consumer_arguments: {'x-priority': 1}
	}, {
	// queueDeclare args here like x-message-ttl
	});

	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) => {
        console.log(data);
        queue.basicAck(data.delivery_tag) ;
	});
    
    connection.on('error', (event) => {
        console.log(connection);
        console.log("you are not connected");
    });
});

connection.connect();

Producer

Not yet tested and documented

Credit

This library is a fork of Tim Honders version .