RabbitMQ - Delete an exchange in Java

Create a Dynamic Web Project in Eclipse. Let's say the name of the project is rabbitmq. Download amqp-client-<version>.jar and javax.jms-api-<version>.jar and add the JAR files to your build path in Eclipse.

 

In the left panel of Eclipse, at the name of your project (rabbitmq in this example) > Java Resources > src, create a new package. For the sake of this tutorial, let's name the package com.rabbitmq.demo.

 

In the package, create a class called delete.

 

In delete.java, add the following markup. In this example, foo.exchange will be deleted.

package com.rabbitmq.demo;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import java.net.URISyntaxException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.text.*;

public class declare {
  public void amqDeclare() throws KeyManagementException, NoSuchAlgorithmException, URISyntaxException {		
    ConnectionFactory cf = new ConnectionFactory();

    // use amqp if the server is not using SSL (e.g. http)
    cf.setUri("amqp://john.doe:itsasecret@server1.example.com:5671/foo");

    // use amqps if the server is using SSL (e.g. https)
    cf.setUri("amqps://john.doe:itsasecret@server1.example.com:5671/foo");

    Connection conn = null;
    try {
      System.out.println("Trying to connect to " + conn);

      conn = cf.newConnection();

      if (conn != null) {    
        System.out.println("Successfully connected to " + conn);
      }
	  else {
	    System.out.println("Failed to connect to " + conn);   		  
	  }

      Channel channel = conn.createChannel();
      channel.exchangeDelete("foo.exchange");

    } 
    catch (Exception e) {
      e.printStackTrace();
    }  
		    finally {           
		        try {
		          conn.close();
		        }
		        catch (Exception e) {
		            e.printStackTrace();
		        }
		        finally {
		          System.out.println("Successfully closed the connection to " + conn);
		        }
		        
		    }         
  }
}

 

In the left panel of Eclipse, right click on the name of your project (rabbitmq in this example) and select New JSP File. Select the WebContent folder, give the file a name such as index.jsp, and select Finish.

 

Add the following to line 1 of the JSP file. This is the combination of the package (com.rabbitmq.main) and the class (declare.java).

<%@page import="com.rabbitmq.main.delete"%>

 

Add the following inside the <body> tags.

  • In this example, "delete" must be used because the name of the class in delete.java is consumer.
  • In this example, "amqDelete" must be used because the name of the method in delete.java is amqDelete.
<body>
<%
  delete jms = new delete();
  jms.amqDelete();
%>
</body>

 

Select the green play button in Eclipse and foo.exchange should be deleted.

Likewise, the main RabbitMQ log file should have something like this.

accepting AMQP connection <0.7993.1338> (10.17.115.16:54343 -> 10.122.15.2:5672)

connection <0.7993.1338> (10.17.115.16:54343 -> 10.122.15.2:5672): user 'john.doe' authenticated and granted access to vhost 'foo'

closing AMQP connection <0.21250.1339> (10.17.115.16:54343 -> 10.122.15.2:5672, vhost: 'foo', user: 'john.doe')

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee

Add a Comment




We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.





Please enter 1512d in the box below so that we can be sure you are a human.




Comments

Web design by yours truely - me, myself, and I   |   jeremy.canfield@freekb.net   |