Skip to content

I'm not able to send message to the default exchange #39

@krishnmobilehub

Description

@krishnmobilehub

Hi,
I'm trying to send a message to the lic_requests queue of the default exchange of my RabbitMQ server, my code implementations is as below:

import React, { Component } from 'react';

import { Text, TextInput, View, Button, Alert } from 'react-native';
import DeviceInfo from 'react-native-device-info';
// import { Connection, Exchange, Queue } from 'react-native-amqp';
import { Connection, Exchange, Queue } from 'react-native-rabbitmq';
const config = {
  host: 'localhost',
  port: 5672,
  username: 'mq-pub',   //your rabbitmq management username
  password: 'mq-pub',   //your rabbitmq management password
  virtualhost: '/'
};
class App extends Component {
  constructor() {
    super();
    this.state = {
      customerName: '',
      macAddress: '',
      showName: false,
      uniqueId: ''
    };
    this.getUniqueMacId()
  }
  getUniqueMacId() {
    const uniqueId = DeviceInfo.getUniqueId();
    DeviceInfo.getMacAddress().then((mac) => {
      this.setState({ macAddress: mac, uniqueId: uniqueId })
    });
  }
  displayNameHandler = (e) => {
    let updatedName = e.target.value;
    this.setState({ customerName: updatedName });
  }
  handleSubmit = () => {
    this.setState({
      showName: true
    });
    this.connectionEstablished();
  }
  connectionEstablished = () => {
    let connection = new Connection(config)
    console.log("print", config);
    connection.connect()
    connection.on('error', event => {
      connected = false;
      console.log("you are not connected");
    });
    connection.on('connected', (event) => {
      let queue = new Queue(connection, {
        name: this.state.uniqueId,
        passive: false,
        durable: false,
        exclusive: false,
        consumer_arguments: { 'x-priority': 1 }
      });
      let exchange = new Exchange(connection, {
        name: ''
      });
      queue.bind(exchange, this.state.uniqueId);
      exchange.publish('Hello', 'lic_requests', {});
      queue.on('message', (data) => {
        console.log("Message: ", data);
      });
    });
  }
  render() {
    return (
      <View>
        <View style={{ padding: 70, paddingTop: 200 }}>
          <TextInput
            style={{ height: 40 }}
            placeholder="Enter Your Customer Name"
            value={this.state.customerName}
            onChangeText={(text) => this.setState({ customerName: text })}
          />
        </View>
        <View style={{
          padding: 50
        }}>
          <Button
            title="Press me"
            onPress={() => { this.handleSubmit() }}
            disabled={this.state.customerName == "" ? true : false}
          />
        </View>
        <View>
          <Text style={{ paddingLeft: 50 }}>
            Devide Unique Id : {this.state.uniqueId}
          </Text>
          <Text style={{ paddingLeft: 50 }}>
            Device mac Address : {this.state.macAddress}
          </Text>
          {this.state.showName &&
            <Text style={{ paddingLeft: 50 }}>
              Customer Name : {this.state.customerName}
            </Text>}
        </View>
      </View>
    );
  }
}
export default App;

When I run the above code I don't see any messages in the lic_requests queue, please help me

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions