Class RabbitMQClient


  • public class RabbitMQClient
    extends Object
    Client for RabbitMQ
    • Constructor Detail

      • RabbitMQClient

        public RabbitMQClient​(String serverHost,
                              int serverPort,
                              String serverVirtualHost,
                              String serverUsername,
                              String serverPassword)
                       throws IOException
        Builds a new instance of RabbitMQClient
        Parameters:
        serverHost - The server host.
        serverPort - The server port.
        serverVirtualHost - The virtual host into the RabbitMQ server.
        serverUsername - The username to access the server.
        serverPassword - The password to access the server.
        Throws:
        IOException - It is thrown if there is some issue during the connection creation.
      • RabbitMQClient

        public RabbitMQClient​(String uri)
                       throws IOException
        Builds a new instance of RabbitMQClient
        Parameters:
        uri - The connection parameters in the form amqp://userName:password@hostName:portNumber/virtualHost
        Throws:
        IOException - It is thrown if there is some issue during the connection creation.
    • Method Detail

      • openChannel

        public void openChannel()
                         throws IOException
        Opens a new channel into the opened connection.
        Throws:
        IOException - It is thrown if there is some issue during the channel creation.
      • bind

        public void bind​(String exchangeName,
                         String exchangeOptions,
                         String queueName,
                         String queueOptions,
                         String bindingKey,
                         String bindingArguments)
                  throws IOException
        Creates a relationship between an exchange and a queue.
        Parameters:
        exchangeName - The exchange's name.
        exchangeOptions - Options used when the exchange is created.

        It must have the form type={type},durable={durable} where:

        • {type} is fanout, direct, headers or topic
        • {durable} is true or false
        queueName - The queue's name.
        queueOptions - Options used when the queue is created.

        It must have the form durable={type},exclusive={durable},auto-delete={durable},arguments={durable} where:

        • durable is true or false
        • exclusive is true or false
        • auto-delete is true or false
        • arguments must have the for {key1:value1;key2:value2}
        bindingKey - The routine key to use for the binding.
        bindingArguments - This parameter is only used when the exchange's type is headers. In other cases is ignored.

        It must have the form key1=value1,key2=value2

        Throws:
        IOException - If there is some issue creating the relationship.
      • publish

        public void publish​(String exchangeName,
                            String routingKey,
                            RabbitMQMessage message)
                     throws IOException
        Publishes a new message over an exchange.
        Parameters:
        exchangeName - The exchange's name where the message will be published.
        routingKey - The routing key used to route the message in the exchange.
        message - The message itself.
        Throws:
        IOException - If there is some issue publishing the message.
      • close

        public void close()
                   throws IOException
        Closes the channel and the connection with the server.
        Throws:
        IOException - If there is some issue trying to close the channel or connection.