当前位置: 首页 > 知识库问答 >
问题:

我需要在配置文件中添加其他内容吗?

孟建木
2023-03-14

这是我的配置类。

@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:通道关闭:通道错误;协议方法:#方法

共有1个答案

严宇
2023-03-14

您需要一个RabbitAdmin@Bean来声明exhange/队列/绑定。

@Bean
RabbitAdmin admmin(ConnectionFactory cf) {
    return new Rabbitadmin(cf);
}
 类似资料:
  • 我开始从零开始学习Web开发,而不是使用拖放,因此作为一名新手,我想问一些类似的问题。 现在,这将代码带到屏幕的左侧,因为导航在这里工作正常。 CSS

  • 我有一个包,它使用一个配置文件具有一个属性: 我使用ConfigAdmin的蓝图如下所示: 只要我可以更改属性的值并且包自动更新属性,这就很好。 我想知道是否有任何方法可以在不更改蓝图的情况下将新属性添加到我的配置文件中(这涉及再次编译/打包)。当然,我的包应该准备好处理新属性。 不确定这在OSGi是否有意义。谁能给我一点提示,告诉我如何向现有配置文件动态添加新属性,并使它们在ConfigAdmi

  • 在中创建android模块需要一点帮助

  • 主要内容:/etc/rsyslog.conf配置文件的格式,/etc/rsyslog.conf配置文件的内容rsyslogd 服务是依赖其配置文件 /etc/rsyslog.conf 来确定哪个服务的什么等级的日志信息会被记录在哪个位置的。也就是说,日志服务的配置文件中主要定义了服务的名称、日志等级和日志记录位置。 /etc/rsyslog.conf配置文件的格式 该配置文件的基本格式如下所示: authpriv.* /var/log/secure #服务名称[连接符号]日志等级 日志记录位置

  • 出于某种原因,每当我尝试将属性添加到此类时,应用程序就会中断。无法确定需要配置哪个构造函数。 启动应用程序上下文时出错。要显示条件,请报告启用“调试”后重新运行应用程序。2021-12-17 00:40:17.874错误21160 --- [ main]o. s. b. d.日志失败分析记者: 应用程序启动失败 说明: com.example.demo.security.config.WebSec

  • 使用 oh-my-zsh 官网 http://ohmyz.sh/ 代码 https://github.com/robbyrussell/oh-my-zsh 安装步骤 先安装 zsh 安装 oh-my-zsh 以后环境变量在 ~/.zshrc 里 alias 俗称别名,是一个linux命令 举例:在git里面我们最常用的命令是查看状态,可以又太长 于是 vi ~/.zshrc 增加如下别名定义 al