Rabbitmq Endpoint
Rabbitmq Endpoint v0.24.0+ 用来创建和启动Rabbitmq订阅服务,它可以订阅不同流名称数据,然后路由到不同规则链进行处理。
提示
- 该组件是扩展组件,需要引入额外的扩展库:rulego-components (opens new window)
# Type
endpoint/rabbitmq
# 启动配置
该组件允许通关过server
字段复用共享的连接客户端。参考组件连接复用 。
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
server | string | RabbitMQ服务器地址,示例:amqp://guest:guest@127.0.0.1:5672/ | 无 |
exchange | string | 交换机名称 | 无 |
exchangeType | string | 交换机类型,可选值:direct, fanout, topic | 无 |
durable | bool | 表示交换器是否持久化。如果设置为 true,即使消息服务器重启,交换器也会被保留。 | false |
autoDelete | bool | 表示交换器是否自动删除。如果设置为 true,则当没有绑定的队列时,交换器会被自动删除。 | false |
# 响应
exchange.Out.SetBody
响应之前,需要通过exchange.Out.Headers()
或者exchange.Out.Msg.Metadata
指定responseTopic
参数,组件就会往指定的主题发送数据:
exchange.Out.GetMsg().Metadata.PutValue("responseTopic", "device.msg.response")
// or
exchange.Out.Headers().Add("responseTopic", "device.msg.response")
exchange.Out.SetBody([]byte("ok"))
1
2
3
4
5
2
3
4
5
响应参数配置:
字段 | 类型 | 是否必填 | 说明 | 默认值 |
---|---|---|---|---|
responseTopic/responseKey | string | 是 | 响应Key | - |
responseExchange | string | 是 | 响应交换机 | - |
# 示例
以下是使用endpoint的示例代码:
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01