<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.7.0</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-messaging</artifactId> <version>5.3.20</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.amqp</groupId> <artifactId>spring-rabbit</artifactId> <version>2.4.5</version> <scope>compile</scope> </dependency> </dependencies> 用这个版本获取 rabbitmq 所有的队列名 交换机名 routingkey名
时间: 2023-07-09 21:05:53 浏览: 60
可以通过以下代码获取 RabbitMQ 中所有的队列名、交换机名和 routing key 名:
```java
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
@Component
public class RabbitmqManagement {
@Autowired
private RabbitAdmin rabbitAdmin;
public List<String> getAllQueueNames() {
return new ArrayList<>(rabbitAdmin.getQueueProperties().keySet());
}
public List<String> getAllExchangeNames() {
return new ArrayList<>(rabbitAdmin.getExchangeProperties().keySet());
}
public List<String> getAllBindingNames() {
return new ArrayList<>(rabbitAdmin.getBindingProperties().keySet());
}
}
```
需要注意的是,需要先配置好 RabbitMQ 的连接信息,再注入 `RabbitAdmin`,才能使用上述代码。