首页 > 其他分享 >简单使用

简单使用

时间:2023-12-13 17:46:14浏览次数:29  
标签:queueDeclare SERVICE 队列 简单 param QUEUE 使用 String

public class StateListener implements ApplicationListener<ContextRefreshedEvent> {
  
    @Resource
    private ConnectionFactory connectionFactory;

    @Bean
    public Queue serviceQueue() {
        return new Queue(SERVICE_QUEUE);
    }

    /**
     * 创建服务自己的队列
     */
    private static final String SERVICE_QUEUE = QueueConstants.SysBpmQueue.SYS_BPM_FORM_PROCESS_STATE_QUEUE + StringPool.DASH + FormConstants.APPLICATION_NAME;

    @Override
    public void onApplicationEvent(ContextRefreshedEvent event) {
        if (connectionFactory != null) {
            Connection connection = connectionFactory.createConnection();
            Channel channel = connection.createChannel(false);
            try {
                //实例化一个 持久化 非独占 空闲不删除 无其余参数的队列
                channel.queueDeclare(SERVICE_QUEUE, true, false, false, null);
                //绑定队列和交换机,第三个参数未routingKey
                channel.queueBind(SERVICE_QUEUE, QueueConstants.SysBpmQueue.SYS_BPM_FORM_PROCESS_STATE_EXCHANGE, StringPool.EMPTY);
            } catch (Exception e) {
                log.error(e.getMessage());
            }
        }
    }

    @RabbitListener(queues = SERVICE_QUEUE)
    private void listener(byte[] bytes) {
        try {
            // 业务实现
        } catch (Exception e) {
            log.error("流程状态回写失败:", e);
        }
    }
}

  queueDeclare()的解释如下:

/**
*
* @param queue 队列名称
* @param durable 服务器重启时能够存活
* @param exclusive 连接断开后会删除队列
* @param autoDelete 当没有消费者删除队列
* @param arguments 参数设置
*/
queueDeclare(String queue,Boolean durable,Boolean exclusive,Boolean autoDelete,String arguments)


yml中配置host、port、账号密码信息

标签:queueDeclare,SERVICE,队列,简单,param,QUEUE,使用,String
From: https://www.cnblogs.com/xiaozi718/p/17899574.html

相关文章

  • 除了Promise.all(),使用Promise.allSettled()方式请求,避免使用循环请求
    constgetFilePromises:Promise<any>[]=[];fileIds.forEach((item)=>{getFilePromises.push(getFileInfoApi({id:item}));});Promise.allSettled(getFilePromises).then((res)=>{this.fileList=res.map((item,index)=>......
  • VSCode 中使用 AI智能编程工具的几个小妙招
    可能你已经在IDE中安装了CodeGeeX,也了解到CodeGeeX能够帮助你编写代码、调试问题、创建文档,生成单元测试等。但是总有些“Wow!”时刻,还在等你发现。今天就介绍几个CodeGeeX插件在VSCode中的使用技巧和小窍门。一、侧边栏放右边,效率倍增默认情况下,CodeGeeX插件在VSCode中成功安装......
  • websocket使用
    WEBSocket(客户端和服务器能够双向同时传输数据):应用层协议,客户端和服务器建立连接时采用http握手方式,建立连接后利用http协议的Upgrade属性将协议变更为WebSocket协议(通过TCP协议来传输数据)http和websocket相同点:1都是建立在TCP之上,通过TCP协议来传输数据;2都是可靠性传输协议......
  • Asp.net core Net6.0 Webapi 项目如何优雅地使用内存缓存
    前言缓存是提升程序性能必不可少的方法,Asp.netcore支持多级缓存配置,主要有客户端缓存、服务器端缓存,内存缓存和分布式缓存等。其中客户端缓和服务器端缓存在使用上都有比较大的限制,而内存缓和分布式缓存则比较灵活。内存缓存就是一种把缓存数据放到应用程序内存中的机制。本......
  • 使用element 2.14 实现表格虚拟滚动组件
    下述代码为组件实现代码复制即可食用,默认只展示一屏数据加两条全选存在些许问题,使用row-key时,如果行过多滚动时会不会很流畅特别需要注意的是行高必须要保持一致<template><divclass="t-table":id="TTableId"><el-tableref="el-table":tooltip-......
  • 大数据企业怎样使用IP代理进行数据抓取
    前言大数据企业通常需要从各种网站和在线平台上进行数据抓取和数据挖掘。然而,许多网站限制了对其内容的访问,使用IP代理是一种常见的解决方案。在本文中,我将介绍大数据企业如何使用IP代理进行数据抓取,并提供相应的代码示例。一、什么是IP代理IP代理是一种允许用户通过第三方服务器......
  • SQLite的下载和配置使用
    特性SQLite的设计目的是嵌入式SQL数据库引擎,它基于纯C语言代码,已经应用于非常广泛的领域内。SQLite在需要长时间存储时可以直接读取硬盘上的数据文件(.db),在无须长时间存储时也可以将整个数据库置于内存中,两者均不需要额外的服务器端进程,即SQLite是无须独立运行的数据库引......
  • Linux系统中curl命令使用笔记
    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,用来请求Web服务器,它的名字就是客户端(client)的URL工具的意思,可以说是一款很强大的http命令行工具,它支持文件的上传和下载,是综合传输工具。可以看出它的参数非常多,a-z的字母,几乎都用到了,参数这么说,功能肯定很强大......
  • 项目使用第三方jar包SDK
    方式一、使用IDEA程序引入jar包1、首先,点他! 2、然后,点他! 3、再然后,点他! 4、最后,在这里选择自己需要上传的Jar包,收工结束!方式二、通过Maven添加到本地仓库,然后在运用依赖导入项1、首先,找到自己所在jar包的目录并输入cmd唤出控制台  2、然后,根据实际情况在控制台......
  • 【转载】SpringBoot2.x使用Assert校验(非单元测试)
    参考https://blog.csdn.net/yangshangwei/article/details/123105926环境环境版本操作windows10JDK11Springboot2.3.12.RELEASE注意引入的包为importorg.springframework.util.Assert;介绍对象和类型断言函数说明notNull()假设对......