【发布时间】:2020-10-04 09:28:06
【问题描述】:
这是我的配置类。
@Configuration
public class MessageConfig {
public static final String KEY = "anil_key";
public static final String EXCHANGE = "anil_exchange_one";
public static final String QUEUE = "anil_queue";
@Bean
public Queue queue() {
return new Queue(QUEUE, false);
}
@Bean
public DirectExchange exchange() {
return new DirectExchange(EXCHANGE);
}
@Bean
public Binding binding(Queue queue, DirectExchange exchange) {
return BindingBuilder.bind(queue).to(exchange).with(KEY);
}
@Bean
public MessageConverter converter() {
return new Jackson2JsonMessageConverter();
}
@Bean
public AmqpTemplate template(ConnectionFactory connectionFactory) {
final RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
rabbitTemplate.setMessageConverter(converter());
return rabbitTemplate;
}
这是我的发布者类
@RestController
@RequestMapping("/order")
public class Publisher {
@Autowired
private AmqpTemplate rabbitTemplate;
@PostMapping("/{restaurentName}")
public String bookOrder(@RequestBody Order order,@PathVariable String restaurentName) {
order.setOrderId(UUID.randomUUID().toString());
OrderStatus status = new OrderStatus(order,"progress","successfully received");
rabbitTemplate.convertAndSend(MessageConfig.EXCHANGE, MessageConfig.KEY, status);
return "success";
}
我遇到了错误。
2020-10-04 14:28:24.628 错误 17008 --- [127.0.0.1:5672] o.s.a.r.c.CachingConnectionFactory:通道关闭:通道错误;协议方法:#method
【问题讨论】:
标签: spring-rabbit