@Async在同一个类中注解失效的原因和解决办法

news/2024/12/23 7:59:55/

在同一个类中,一个方法调用另外一个有注解(比如@Async)的方法,注解是不会生效的。

原因是:spring在扫描bean的时候会扫描方法上是否包含@Async注解,如果有,会为这个bean动态地生成一个子类代理类,代理类是继承原来的那个bean。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用是会增加异步作用。然而,如果这个注解的方法是被同一个类的其他方法调用,该方法并没有通过代理类,而是直接通过原来的那个bean。所以就没有增加异步作用,产生的现象就是@Async注解无效。

处理方法,把@Async方法提取到其他类中


http://www.ppmy.cn/news/1134933.html

相关文章

【Redis】基础数据结构-字典

Redis 字典 基本语法 字典是Redis中的一种数据结构,底层使用哈希表实现,一个哈希表中可以存储多个键值对,它的语法如下,其中KEY为键,field和value为值(也是一个键值对): HSET key…

redis的简单使用

文章目录 环境安装与配置redis发布-订阅相关命令redis发布-订阅的客户端编程redis的订阅发布的例子 环境安装与配置 sudo apt-get install redis-server # ubuntu命令安装redis服务ubuntu通过上面命令安装完redis,会自动启动redis服务,通过ps命令确认&a…

地理空间探测器保姆级教程-含实现程序-少理论多操作

1.实现软件excel程序 【传送门】 2.基本步骤 2.1 准备的数据样式 按省份地理位置,分为东中西三大板块 2.2 数据离散化 数据不需要标准化、归一化等X(X可能多个)数据,需要离散化,eg,使用门槛值&#x…

FOC程序cubemx配置-ADC配置

具体配置步骤大家参考:这篇文章 我配置后用keil5自带的仿真工具查看引脚波形,在这里写一下遇到的问题。 1、波形仿真的时候出现 Unknown Signal:参考 这篇文章 2、生成的波形并不完全互补。 PS:出现以上这种情况时&#xff0…

SpringBoot 如何解决跨域问题

Spring Boot 中的跨域请求(Cross-Origin Request)问题与解决方案 跨域请求是指浏览器从一个域名的网页去请求另一个域名的资源,它是为了增强 Web 安全性而产生的限制。Spring Boot 应用程序通常会面临跨域请求的问题,本文将介绍跨…

ElementPlus· tab切换/标签切换 + 分页

tab切换 ---> <el-tabs><el-tab-pane>... 分页 --------> <el-pagination> tab切换 // tab标签切换 // v-model双向绑定选项中的name&#xff0c;tab-change事件在 activeName改变时触发 <script setup> const tabChange (tab, event)>{…

第十四章 类和对象——C++对象模型和this指针

一、成员变量和成员函数分开存储 在C中&#xff0c;类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 class Person {public:Person() {mA 0;}//非静态成员变量占对象空间int mA;//静态成员变量不占对象空间static int mB; //函数也不占对象空间&#…

Scrapy框架Splash渲染

Scrapy框架是一款强大而灵活的Python网络爬虫框架&#xff0c;用于快速、高效地爬取和提取网页数据。然而&#xff0c;对于一些使用动态渲染技术的网站&#xff0c;Scrapy在处理JavaScript生成的内容上可能会有些困难。为了应对这种情况&#xff0c;Scrapy提供了Splash渲染服务…