rabbitmq: #RabbitMQ相关的配置
host: 192.168.1.145
port: 31672
username: admin
password: admin
cloud:
stream:
rabbit:
binder:
order_customer_input:
consumer:
delayed-exchange: true # 消费者开启延迟消息
max-attempts: 3 # 最大错误尝试次数默认1
auto-bind-dlq: true # 开启死信队列
republish-to-dlq: true # 保存异常信息
requeue-rejected: true # 消息消费失败之后,并不会将该消息抛弃,而是将消息重新放入队列,所以消息的消费逻辑会被重复执行,直到这条消息消费成功为止。
bindings:
order_customer_input:
group: group
destination: order-customer-topic
customer_h5_output:
destination: customer-h5-topic
controller层
@StreamListener(value = OrderCustomerProcessor.INPUT)
/**
* 订单客户MQ消息通道.
*
* @author Liu Huan
* @since 2020/1/1/001
*/
public interface OrderCustomerProcessor extends IProcessor {
/** 使用 . 分隔符会接收不到消息,why???**/
String INPUT = "order_customer_input";
String OUTPUT = "order_customer_output";
@Override
@Output(OrderCustomerProcessor.OUTPUT)
MessageChannel output();
@Override
@Input(OrderCustomerProcessor.INPUT)
SubscribableChannel input();
}