在线设计logo免费网站wordpress PHP合并js

张小明 2026/1/14 18:07:11
在线设计logo免费网站,wordpress PHP合并js,南通网站建设优化公司,做网站 seo核心作用#xff1a;Spring 提供的注解#xff0c;标注在类或方法上#xff0c;使方法在异步线程中执行#xff0c;调用者无需等待方法完成即可继续执行后续逻辑。使用两步走#xff1a;启动类添加 EnableAsync#xff0c;开启异步任务支持#xff1b;需异步执行的方法 …核心作用Spring 提供的注解标注在类或方法上使方法在异步线程中执行调用者无需等待方法完成即可继续执行后续逻辑。使用两步走启动类添加EnableAsync开启异步任务支持需异步执行的方法 / 类上添加Async注解示例中常用CompletableFuture处理异步结果。Async 原理分析Async可以异步执行任务本质上是使用动态代理来实现的。通过 Spring 中的后置处理器BeanPostProcessor为使用Async注解的类创建动态代理之后Async注解方法的调用会被动态代理拦截在拦截器中将方法的执行封装为异步任务提交给线程池处理。开启异步EnableAsync 的作用EnableAsync通过Import(AsyncConfigurationSelector.class)加载配置类AsyncConfigurationSelector根据AdviceMode默认PROXY选择加载ProxyAsyncConfigurationProxyAsyncConfiguration注册关键后置处理器AsyncAnnotationBeanPostProcessor。后置处理器动态代理的核心AsyncAnnotationBeanPostProcessor是Async生效的关键会为标注Async的类创建动态代理该处理器通过setBeanFactory()方法创建AsyncAnnotationAdvisorSpring AOP 的Advisor组件。创建Advisor定义拦截规则与逻辑dvisor包含Advice通知逻辑和Pointcut切入点Advice创建AnnotationAsyncExecutionInterceptor拦截器负责异步执行逻辑Pointcut通过AnnotationMatchingPointcut匹配类 / 方法上的Async注解类级别 方法级别。后置处理器逻辑生成代理对象Bean 初始化后postProcessAfterInitialization()方法判断 Bean 是否符合Advisor规则符合规则则通过ProxyFactory创建代理对象后续Async方法调用会被代理拦截。Async 注解方法的拦截1. 确定异步执行器线程池优先从缓存获取或通过Async的value限定符查找自定义线程池无自定义线程池时默认使用SimpleAsyncTaskExecutor风险提示每次创建新线程无复用高并发下易导致资源耗尽。2. 封装异步任务将目标方法执行逻辑invocation.proceed()封装为Callable任务若方法返回Future类型会阻塞等待结果处理异步嵌套调用其他类型执行后返回null。3. 提交异步任务根据方法返回值类型选择提交方式CompletableFuture用supplyAsync()提交ListenableFuture用submitListenable()提交Future直接submit()提交void或其他类型submit()提交后返回null。总结理解Async原理的核心在于理解EnableAsync注解该注解开启了异步任务的功能。主要流程如下图Async 使用建议必须自定义线程池避免使用默认的SimpleAsyncTaskExecutor推荐ThreadPoolTaskExecutor可配置核心线程数、最大线程数、队列容量等示例创建executor1、executor2等不同线程池通过Async(executor1)指定。避免 Async 注解实效失效场景原因解决方案同一类内调用异步方法绕过 Spring 代理未触发拦截将异步方法移至另一个 Spring Bean异步方法用static修饰代理无法拦截静态方法不属于实例用非静态包装方法调用静态逻辑未加EnableAsync未开启异步支持启动类添加EnableAsync方法所在类非 Spring BeanSpring 无法创建代理确保类被Service等注解管理规范返回值类型无需结果返回void需要结果返回Future子类如CompletableFuture、ListenableFuture其他类型如String、Object无法获取方法执行结果。处理异步方法异常全局处理实现AsyncConfigurer重写getAsyncUncaughtExceptionHandler()自定义异常处理器局部处理用CompletableFuture的exceptionally()等方法捕获异常。事务管理注意异步方法需事务时需添加Transactional(propagation Propagation.REQUIRES_NEW)开启独立新事务避免与调用方事务关联。控制执行顺序异步方法默认无序需按顺序执行时用CompletableFuture的thenCompose()、thenAccept()等方法串联任务如先执行fetchDataAsync再执行processDataAsync。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

广告公司网站首页在线查看网站源码

第一章:Open-AutoGLM刷机终极指南概述 Open-AutoGLM 是一款专为智能车载系统定制的开源固件,基于 AutoGLM 架构深度优化,支持多车型硬件适配与 AI 语音交互功能扩展。本指南旨在为开发者和高级用户提供一套完整、可靠的刷机流程,涵…

张小明 2026/1/6 14:38:38 网站建设

网站开发的ie兼容做到9机票网站手机版建设

分子动力学数据分析实战:从零基础到高效精通的5大要点 【免费下载链接】mdanalysis MDAnalysis is a Python library to analyze molecular dynamics simulations. 项目地址: https://gitcode.com/gh_mirrors/md/mdanalysis 想要在分子动力学研究中快速提取有…

张小明 2026/1/6 22:45:16 网站建设

公司三站合一的网站wordpress更改后台管理跳转

Unity游戏自动翻译插件完全指南:轻松实现多语言游戏体验 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在当今全球化的游戏市场中,Unity游戏翻译已成为玩家突破语言障碍的关键技术…

张小明 2026/1/9 19:50:38 网站建设

重庆有专业做网站的吗企业门户网站开发费用

第一章:智能家居 Agent 的能源管理在现代智能家居系统中,智能 Agent 扮演着核心调度角色,尤其在能源管理方面,能够通过实时感知、学习用户行为和优化设备运行策略来显著降低能耗。这些 Agent 通常部署于家庭网关或云端&#xff0c…

张小明 2026/1/9 23:34:39 网站建设

五金技术支持东莞网站建设做网站的竞品分析

第一章:Open-AutoGLM操作手机app的原理 Open-AutoGLM 是一种基于大语言模型(LLM)与自动化执行框架融合的技术方案,能够理解自然语言指令并驱动移动设备完成指定App操作。其核心在于将用户意图解析为可执行的操作序列,并…

张小明 2026/1/10 4:05:05 网站建设

深圳网站建设评价百度企业网盘

深蓝词库转换终极指南:跨平台输入法词库一键迁移 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 一、词库转换的实用价值 在日常使用电脑的过程中&#…

张小明 2026/1/9 21:35:47 网站建设