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

创业网站建设规划书系统搭建

创业网站建设规划书,系统搭建,关于网站开发的网站,西乡网站建设公司在springboot项目中可以通过EnableAsyncAsync的方式简化异步操作#xff0c;下文使用springboot:3.2.1 源码分析 若一个bean中的公共方法上标注了Async#xff0c;在系统启动时#xff0c;会给这个类创建一个代理对象#xff0c;并将该代理对象作为bean注册到spring容器中 … 在springboot项目中可以通过EnableAsyncAsync的方式简化异步操作下文使用springboot:3.2.1 源码分析 若一个bean中的公共方法上标注了Async在系统启动时会给这个类创建一个代理对象并将该代理对象作为bean注册到spring容器中 当调用带有Async注解的方法时实际上是调用了代理对象的方法在代理对象的方法中将真正的方法交给线程池去执行 原理分析 代理方法执行时AsyncExecutionInterceptor#invoke调用determineAsyncExecutor()方法获取异步执行器然后将真实方法的执行交给异步执行器 获取Async指定的异步执行器若未指定则使用默认的异步执行器 获取默认的异步执行器 默认的异步执行器类型是ThreadPoolTaskExecutor由org.springframework.boot.autoconfigure.task.TaskExecutorConfigurations.TaskExecutorConfiguration向spring容器中注册且核心线程数默认是8阻塞队列容量默认是Integer.MAX_VALUE可见默认的设置在生产环境使用时存在资源耗尽的风险。可通过配置文件调整配置项对应类org.springframework.boot.autoconfigure.task.TaskExecutionProperties 如果AsyncConfigurer提供了Executor则使用该Executor作为默认执行器否则通过getDefaultExecutor方法获取默认执行器 在AsyncExecutionInterceptor#getDefaultExecutor方法中首先从父类方法中获取执行器从spring容器中获取org.springframework.core.task.TaskExecutor类型的bean或者name是taskExecutor的bean若为空则使用SimpleAsyncTaskExecutor 默认情况下spring容器中并没有TaskExecutor类型的bean但是在TaskExecutorConfiguration该配置类是由TaskExecutionAutoConfiguration自动配置类使用Import导入配置类中向spring容器中注册了name是taskExecutor的bean 自定义异步执行器 自定义默认异步执行器 以下两种方式都是在自定义默认的异步执行器也就说Async不指定线程池时使用的默认异步执行器 自定义配置类并实现org.springframework.scheduling.annotation.AsyncConfigurer接口重写getAsyncExecutor方法向容器中注册TaskExecutor类型的bean覆盖内置的TaskExecutor 自定义普通异步执行器 自定义普通异步执行器的bean名称不可设置为taskExecutor且类型不可以是TaskExecutor否则会成为默认异步执行器可创建org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor对象并自定义其属性值然后将该对象注册到spring容器中 异常处理 异步方法的异常捕获和处理 默认的异常处理器SimpleAsyncUncaughtExceptionHandler 示例 2024-09-20T15:59:20.77608:00 ERROR 34764 --- [ task-1] .a.i.SimpleAsyncUncaughtExceptionHandler : Unexpected exception occurred invoking async method: public void com.example.box.dynamicproxy.TestJdkProxyServiceImpl.run()java.lang.RuntimeException: 公司又停发工资了at com.example.box.dynamicproxy.TestJdkProxyServiceImpl.run(TestJdkProxyServiceImpl.java:14) ~[classes/:na]at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]自定义异常处理器 配置类实现AsyncConfigurer接口的getAsyncUncaughtExceptionHandler()方法返回一个自定义的AsyncUncaughtExceptionHandler实现类的实例
http://www.sczhlp.com/news/158219/

相关文章:

  • 网页设计网站布局分析wifi网络管理
  • 如何用xampp做网站在线设计软件
  • 东莞市官网网站建设企业罗湖附近公司做网站建设哪家效益快
  • 红色大气企业网站电子商务的网站的建设内容
  • 贵州省都匀市网站建设爱站网seo查询
  • 济南h5网站建设网站建设算软件还是硬件
  • 南宁模板建站定制网站2345浏览器官方网站
  • 网站优化北京seo校园网站建设总体设计
  • 有关师德建设的网站响应式网站和展示式区别
  • 游戏源码搭建如何优化推广网站
  • 怎样做省钱购物网站江苏省建筑网监督信息平台
  • 建设网站企业登录南皮县做网站价格
  • 网站建设理论知识品牌建设的四条主线
  • 郑州做网站外包的公司有哪些网站制作公司价格
  • 北京公司注册网站appserv做网站教程
  • 关于安装博客园皮肤中有关于配置音乐播放器的补充(awescnb)
  • AGC VP 记录 2
  • 2025 --【J+S 二十连测】-- 第四套 总结
  • 做网站语言排名2018wap网站自动
  • 大连城建设计研究院网站深圳市手机网站建设报价
  • 做素食香料哪个网站买网页制作东莞
  • 建设银行假网站网站建设和成本
  • 阿克苏网站建设公司wordpress手机端导航栏
  • flash里面如何做网站链接设计师网络语
  • php教育学校网站源码seo综合查询站长工具
  • 企业网站建设开始起步文章音乐网站建设流程
  • 福州做网站哪家好网页网页游戏
  • 外贸网站海外推广天津最新消息今天
  • 网站备案地网站查icp备案查询系统
  • 北京网站改版网络推广外包公司干什么的