在服务器调用api操作rabbitmq

不同的rabbitmq版本可能api不同,仅做参考,RabbitMQ 3.7.18。同时,我基本没看官方api文档,根据rabbitmq客户端控制台调用接口参数来决定需要什么参数。例如:
在这里插入图片描述
在这里插入图片描述

1、添加用户

curl -u 用户名:密码 -H “Content-Type: application/json” -X PUT http://localhost:15672/api/users/新加用户名 -d ‘{“password”:新加用户密码, “tags”:根据自己需要填写 }’

2、给新增用户配置权限

注意:引号中都是.* 不要直接粘过去就用
rabbitmqctl set_permissions -p / 新加用户名 “." ".” “.*”

3、添加队列

%2F:默认的虚拟主机/
curl -u 用户名:密码 -H “Content-Type: application/json” -X PUT http://localhost:15672/api/queues/%2F/队列名 -d ‘{“durable”:“true”, “auto_delete”:“false” }’

4、添加SHOVEL

%2F:默认的虚拟主机/
将参数写到了一个json文件,命令中写json文件的绝对路径即可
curl -u 用户名:密码 -H “Content-Type: application/json” --data-binary @/usr/local/share/applications/shovel_config.json -X PUT http://localhost:15672/api/parameters/shovel/%2F/SHOVEL名称
json文件中的参数:

{
"component":"shovel",
"vhost":"/",
"name":"SHOVEL名称",
"value":{
"ack-mode":"on-confirm",
"dest-add-forward-headers":false,
"dest-protocol":"amqp091",
"dest-queue":目标队列名称,
"dest-uri":"amqp://用户名:密码@ip:port/%2F",
"src-delete-after":"never",
"src-protocol":"amqp091",
"src-queue":源端队列名称,
"src-uri":"amqp://用户名:密码@ip:port/%2F"
}
}

在Java中调用RabbitMQ API,你可以使用RabbitMQ Java客户端库。下面是一个简单的示例代码: 首先,确保你已经在你的项目中添加了RabbitMQ Java客户端库的依赖项。你可以在Maven或Gradle中添加以下依赖: Maven: ```xml <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.11.0</version> </dependency> ``` Gradle: ```groovy implementation 'com.rabbitmq:amqp-client:5.11.0' ``` 接下来,你可以使用以下代码创建一个RabbitMQ连接,并发送消息到一个队列: ```java import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.io.IOException; import java.util.concurrent.TimeoutException; public class RabbitMQExample { private final static String QUEUE_NAME = "my_queue"; private final static String MESSAGE = "Hello, RabbitMQ!"; public static void main(String[] args) { ConnectionFactory factory = new ConnectionFactory(); factory.setHost("localhost"); // RabbitMQ服务器的主机名或IP地址 try (Connection connection = factory.newConnection(); Channel channel = connection.createChannel()) { channel.queueDeclare(QUEUE_NAME, false, false, false, null); channel.basicPublish("", QUEUE_NAME, null, MESSAGE.getBytes()); System.out.println("Sent message: " + MESSAGE); } catch (IOException | TimeoutException e) { e.printStackTrace(); } } } ``` 上面的代码中,我们创建了一个名为 "my_queue" 的队列,并发送了一个消息 "Hello, RabbitMQ!" 到该队列。 请注意,上面的代码只是一个简单的示例,你可以根据你的需求进行更详细的配置和处理。你可以查阅RabbitMQ Java客户端库的文档,了解更多关于连接、通道、队列等操作的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Happy-Sir

有收获请打赏,哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值