前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RabbitMQ笔记(八)-RabbitAdmin

RabbitMQ笔记(八)-RabbitAdmin

作者头像
yingzi_code
发布2019-08-31 12:26:27
1.2K0
发布2019-08-31 12:26:27
举报

使用代码配置队列,交换器和绑定通常可以直接使用RabbitAdmin

默认情况下,当任何异常发生时,RabbitAdmin将立即停止处理所有声明;这可能会导致下游问题——例如,由于没有声明另一个队列(在错误队列之后定义的),侦听器容器无法初始化。

可以通过将RabbitAdmin上的ignore-declaration-exceptions属性设置为true来修改此行为。这个选项指示RabbitAdmin记录异常,并继续声明其他元素。当使用java配置RabbitAdmin时,这个属性是ignoredeclarationexception。这是一个全局设置,适用于所有元素、队列、交换器和绑定,具有一个类似的属性,仅适用于这些元素。

在1.6版本之前,此属性仅在通道上发生IOException时(例如当前属性与所需属性不匹配时)才生效。现在,该属性将对任何异常生效,包括TimeoutException等。

此外,任何声明异常都会导致DeclarationExceptionEvent的发布,该事件是一个ApplicationEvent,上下文中的任何ApplicationListener都可以使用该事件。事件包含对admin的引用、正在声明的元素和可抛出的元素。

配置bean
代码语言:javascript
复制
 @Bean
    public RabbitAdmin rabbitAdmin(CachingConnectionFactory cachingConnectionFactory){
        RabbitAdmin rabbitAdmin = new RabbitAdmin(cachingConnectionFactory);
        rabbitAdmin.setIgnoreDeclarationExceptions(true);
        return rabbitAdmin;
}

使用

代码语言:javascript
复制
//声明队列
rabbitAdmin.declareQueue(new Queue("aaa", true));
//声明交换器
rabbitAdmin.declareExchange(new TopicExchange("aaaa"));
//绑定队列和交换器
rabbitAdmin.declareBinding(new Binding("aaa", Binding.DestinationType.QUEUE,"aaa", "aaa", null));
也可以直接创建channel

这种方式涉及到channel不停的打开和关闭,可能需要进行一定的管理

代码语言:javascript
复制
 Channel channel = connectionFactory.createConnection().createChannel(false);
 channel.queueDeclare("bbb", true, false, false , null);
 channel.exchangeDeclare("bbb", BuiltinExchangeType.TOPIC);
 channel.queueBind("bbb", "bbb", "bbb");

channel.close();
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年01月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置bean
  • 也可以直接创建channel
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档