当前位置: 首页 > wzjs >正文

沙田网站建设公司营销型网站和传统网站区别

沙田网站建设公司,营销型网站和传统网站区别,mj主题 wordpress,体育网站建设个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 解决Async注解,同类下调用不生效 一…

在这里插入图片描述

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~
个人主页:.29.的博客
学习社区:进去逛一逛~

在这里插入图片描述

解决@Async注解,同类下调用不生效

  • 一、@Async注解
    • 基本使用
  • 二、为什么同类下@Async不生效
    • 根本原因
    • 内部调用失效案例
  • 三、解决方案
    • 方式1 异步方法拆分到不同类
    • 方式2 通过代理对象调用


一、@Async注解

@Async 是 Spring 框架中用于实现异步方法调用的注解

基本使用

1、启用异步支持 在配置类添加 @EnableAsync

   @Configuration@EnableAsyncpublic class AsyncConfig {}

2、标注异步方法,在需要异步的方法条件 @Async

   @Servicepublic class EmailService {@Asyncpublic void sendAsyncEmail(String content) {// 耗时操作(如发送邮件)}}

二、为什么同类下@Async不生效

根本原因

Spring 通过 动态代理 实现 @Async 的异步能力:

1、代理对象隔离

  • 当调用被 @Async 注解的方法时,实际调用的是代理对象的方法
  • 同类中的内部调用(如 this.method())直接访问原始对象,绕过了代理

2、代理类型差异

  • 如果使用 JDK 动态代理(基于接口),同类调用无法触发代理逻辑
  • 如果使用 CGLIB 代理(无接口类),同类调用同样受限于 this 调用

内部调用失效案例

@Service
public class OrderService {// ✅ 外部调用有效public void createOrder() {sendAsyncMsg(); // 通过代理对象调用}// ❌ 同类调用无效public void batchCreateOrders() {this.sendAsyncMsg(); // 直接调用原始对象方法}@Asyncpublic void sendAsyncMsg() {// 异步发送消息}
}

三、解决方案

方式1 异步方法拆分到不同类

// 异步操作单独成类
@Service
public class AsyncMessageService {@Asyncpublic void sendAsyncMsg() {// 异步逻辑}
}// 主业务类通过依赖注入调用
@Service
@RequiredArgsConstructor
public class OrderService {private final AsyncMessageService asyncMessageService;public void batchCreateOrders() {asyncMessageService.sendAsyncMsg(); // 通过代理对象调用}
}

方式2 通过代理对象调用

  • 配置类添加配置exposeProxy = true
   @EnableAspectJAutoProxy(exposeProxy = true) // 配置类添加@Configuration@EnableAsyncpublic class AsyncConfig {}
  • 同类下通过代理对象调用异步方法
@Service
public class OrderService {//AopContext上下文获取当前代理对象,调用异步方法public void batchCreateOrders() {((OrderService) AopContext.currentProxy()).sendAsyncMsg();}@Asyncpublic void sendAsyncMsg() {// 异步逻辑}
}



在这里插入图片描述

http://www.dtcms.com/wzjs/782798.html

相关文章:

  • 网站网站怎么定位北京整站线上推广优化
  • 微商怎么做_和淘宝网站一样吗?app手机网站建设
  • html5网站开发前景网站建设与开发定制
  • 深圳市建设网络有限公司网站建网站哪个好 优帮云
  • 做推广要知道的网站社交网站 模板
  • 沈阳论坛建站模板网站要怎样建设
  • 医院建设网站网络规划设计师吧
  • 什么网站做的好看又便宜重庆重庆网站建设
  • 淘宝网站建设好评厦门市同安区建设局官方网站
  • c语言怎么做网站湖南佳邦建设有限公司网站
  • 四川网站设计网站名字大全有哪些
  • 英文网站模板电子商务网站建设作业文档
  • 长春市做网站的公司wordpress如何生成单页的网站地图
  • 网站开发前途公司logo设计大全 图片欣赏
  • 做個app网站价格常德网站建设多少钱
  • 基本的网站开发技术宠物医生免费咨询
  • 昆明做网站多少钱微机做网站的软件
  • 做玩游戏任务得q币的网站黑龙江暴雪预警
  • 建设网站赚钱么wordpress换页
  • 广州市萝岗区做网站设计服务郑州个人做网站汉狮
  • 价钱网站建设电子商务是坑人专业吗
  • 网站总体建设方面的优势与不足做书的封面的网站素材
  • 临平网站建设定制营销的例子有哪些
  • 同安建设局网站wordpress设置标题
  • 怎么给自己做个网站吗国家最新政策
  • 建立网站就可以赚钱了吗宁波网站怎么建设
  • 皮具网站建设永久免费自助建站
  • 没有网站如何做天天联盟导航特效网站
  • 安徽湖滨建设集团有限公司网站西安网站建设云速网络
  • 品牌网站设计有哪些建议推广引流话术