spring自定义事件监听器

news/发布时间2024/9/20 9:30:50

1. 创建自定义事件


import org.springframework.context.ApplicationEvent;
import java.util.List;public class CollectionCreateEvent extends ApplicationEvent {private List<String> fileList;public CollectionCreateEvent(Object source,List<String> fileList) {super(source);this.fileList = fileList;}public List<String> getFileList() {return fileList;}
}

2. 创建事件监听器

(1) 实现ApplicationListener接口;

(2) 使用@EventListener注解,@EventListener注解可以直接在方法上使用,以指定该方法为事件监听器。


import java.util.List;@Component
public class DatasetListener {@Autowiredprivate SysFileService fileService;@EventListenerpublic void handleMyEvent(CollectionCreateEvent event) {//处理事件try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}List<String> fileList = event.getFileList();System.out.println(fileList.size());System.out.println(JSON.toJSONString(fileList));System.out.println(fileService);}
}

3. 创建事件发布者


@Component
public class EventPublish {@Autowiredprivate ApplicationEventPublisher publisher;public void publishCreateCollection(List<String> fileList) {CollectionCreateEvent customEvent = new CollectionCreateEvent(this, fileList);publisher.publishEvent(customEvent);}
}

4. 异步监听

  1. 监听类加注解 @Async
    在这里插入图片描述
  2. 项目启动类加 @EnableAsync

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/sCyr/9811.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Centos 7.5 上nginx设置开机自启动

nginx的安装目录 &#xff1a; /usr/local/nginx 一、没有设置开机自启动前&#xff0c;需要执行/usr/local/nginx/sbin/nginx 启动 二、接下来&#xff0c;我们设置开机自启动&#xff0c;就不用手动启动nginx了 1、cd /usr/lib/systemd/system/ 2、vi nginx.service [un…

零成本建站方案之Github Pages

之前的文章中介绍了如何申请AWS免费服务器并使用WordPress来搭建个人网站&#xff0c;今天给大家介绍一种无需任何硬件资源&#xff0c;也就是不需要准备服务器就可以搭建一个网站的方案&#xff0c;那就是使用github pages来搭建一个静态网站。 第一步&#xff0c;需要准备一个…

C语言第三十三弹---动态内存管理(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 动态内存管理 1、为什么要有动态内存分配 2、malloc和free 2.1、malloc 2.2、free 3、calloc和realloc 3.1、calloc 3.2、realloc 4、常见的动态内存的错…

Linux添加用户分组练习

一、复制/etc/skel目录为/home/tuser1&#xff08;/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限&#xff09;。 cp -a /etc/skel /home/tuser1 chown -R tuser1:tuser1 /home/tuser1 chmod -R 700 /home/tuser1 二、编辑/etc/group文件&#xff0c;添加组h…

IPD(集成产品开发)—核心思想

企业发展到一定阶段就会遇到管理瓶颈&#xff0c;IPD流程是一种高度结构化的产品开发流程&#xff0c;它集成了业界很多优秀的产品开发方法论&#xff0c;像搭积木一样的组合成一种非常有效的流程。如果我们能根据企业的规模和行业特点&#xff0c;对全流程的IPD进行合适的裁剪…

【音视频处理】使用ffmpeg实现多个视频合成一个视频(按宫格视图)

先上结果 环境 硬件&#xff1a;通用PC 系统&#xff1a;Windows 测试有效 软件&#xff1a;ffmpeg 解决 0、命令 ffmpeg.exe -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:v]scaleiw/2:ih/2,pad2*iw:2*ih[a]; [1:v]scaleiw/2:ih/2…

136. 只出现一次的数字【简单】

136. 只出现一次的数字【简单】 题目描述&#xff1a; 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使…

今年国内石油需求稳中有升,巡检机器人助力石油行业可持续发展

前言&#xff1a;全球能源市场出现普遍回落趋势&#xff0c;其中石油价格下降近20%&#xff0c;而天然气和煤炭价格更是下跌超过50%。此外&#xff0c;碳酸锂和光伏组件价格也纷纷下降超过50%。这种价格下滑对于全球经济的持续增长&#xff0c;尤其是控制通货膨胀方面&#xff…

golang学习6,glang的web的restful接口传参

1.get传参 //get请求 返回json 接口传参r.GET("/getJson/:id", controller.GetUserInfo) 1.2.接收处理 package controllerimport "github.com/gin-gonic/gin"func GetUserInfo(c *gin.Context) {_ c.Param("id")ReturnSucess(c, 200, &quo…

如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)

一、 VMware Workstation 虚拟机 若没有安装 VM 虚拟机可以参考下篇文章进行安装&#xff1a; VM 虚拟机安装教程https://eclecticism.blog.csdn.net/article/details/135713915 二、Windows Server 2012 镜像 点击链接下载镜像 下载链接https://pan.baidu.com/s/16nRHgyE…

Flask入门二(Flask的CBV、模版语法、请求和响应)

文章目录 一、Flask的CBV1.CBV的写法2.as_view的执行流程3.Login.as_view(name‘index’) name到底有什么用&#xff1f;4.CBV中得methods作用 二、模版语法1.渲染变量2.变量的循环3.逻辑判断 三、请求和响应 一、Flask的CBV 1.CBV的写法 from flask import Flask app Flask…

Stable Diffusion 解析:探寻 AI 绘画背后的科技神秘

AI 绘画发展史 在谈论 Stable Diffusion 之前&#xff0c;有必要先了解 AI 绘画的发展历程。 早在 2012 年&#xff0c;华人科学家吴恩达领导的团队训练出了当时世界上最大的深度学习网络。这个网络能够自主学习识别猫等物体&#xff0c;并在短短三天时间内绘制出了一张模糊但…

微信小程序 ---- 慕尚花坊 收货地址

收货地址 收货地址列表新增收货地址编辑收货地址删除收货地址 01. 定义新增参数以及封装接口 API 思路分析&#xff1a; 点击新建地址按钮&#xff0c;需要跳转到新增地址页面 因为新增和编辑收货地址页面是同一个页面&#xff0c;我们需要在这个页面处理新增和编辑功能&a…

应用存储与持久化数据卷

1、PV 引入场景&#xff1a; ① Deployment 管理的 pod&#xff0c;在做镜像升级的过程中&#xff0c;会产生新的 pod并且删除旧的 pod &#xff0c;新旧 pod 之间如何复用数据&#xff1f; ② 宿主机宕机的时候&#xff0c;如何实现带卷迁移&#xff1f; ③ 多个 pod 之间&…

亚信安慧AntDB-M的扩展功能(三)

销毁函数&#xff1a; void My_SUM_deinit(UDF_INIT *initid) { //清理工作 } 假设编译生成的动态库名字是&#xff1a;my_sum_udf.so。 使用CREATE FUNCTION命令创建函数&#xff1a; CREATE FUNCTION My_SUM RETURNS INTEGER SONAME my_sum_udf.so; 使用UDF: SELECT My…

模型优化_如何提高网络/模型的泛化能力?(全面)

目录 1. 以数据为中心的泛化方法 1.1 使用更多数据 1.2 做好数据预处理 特征工程 1.3 数据增强 1.4 调整数据分布 2. 以模型为中心的泛化方法 2.1 使用更大批次 超参数调优 2.2 调整目标函数 2.3 调整网络结构 2.4 屏蔽网络节点 2.5 权值正则化 2.6 偏差-方差权衡…

雾锁王国服务器官方配置要求说明

雾锁王国/Enshrouded服务器CPU内存配置如何选择&#xff1f;阿里云服务器网aliyunfuwuqi.com建议选择8核32G配置&#xff0c;支持4人玩家畅玩&#xff0c;自带10M公网带宽&#xff0c;1个月90元&#xff0c;3个月271元&#xff0c;幻兽帕鲁服务器申请页面 https://t.aliyun.com…

【BUUCTF web】通关1.0

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

微信为什么使用 SQLite 保存聊天记录?

SQLite 是一个被大家低估的数据库&#xff0c;但有些人认为它是一个不适合生产环境使用的玩具数据库。事实上&#xff0c;SQLite 是一个非常可靠的数据库&#xff0c;它可以处理 TB 级的数据&#xff0c;但它没有网络层。接下来&#xff0c;本文将与大家共同探讨 SQLite 在过去…

房贷计算器微信小程序原生语言

微信小程序: 房贷计算器 效果: 输入 300万 结果 还款明细 一共有3个页面 1、输入页面 2、结果页面 3、详情页面 1 index页面 index.wxml文件 <view class="text-black"><!--房屋总价--><view class="cu-bar bg-white solid-bottom"&…
推荐文章