Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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