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

潍坊免费做网站wordpress免费资源

潍坊免费做网站,wordpress免费资源,机械设计最好的三维软件,手机版网站开发的功能点Java-12a.Spring 中通过 TaskDecorator 配置默认异步线程池 前言 虽然在 SpringBoot 2.7.x 中已经有关于异步线程池的默认配置#xff0c;但如果还是要自定义的需求#xff0c;仍然值得学习了解一下。 例如#xff1a;想要在多线程池中添加 traceId#xff1b;使用 tran…Java-12a.Spring 中通过 TaskDecorator 配置默认异步线程池 前言 虽然在 SpringBoot 2.7.x 中已经有关于异步线程池的默认配置但如果还是要自定义的需求仍然值得学习了解一下。 例如想要在多线程池中添加 traceId使用 transmittable-thread-local 来代替默认的 ThreadLocal。 多线程日志追踪工具类 MdcUtil public class MdcUtil { public static final String TRACE_ID traceId; public static String generateTraceId() { return UUID.randomUUID().toString().replace(-, ); } public static String getTraceId() { return MDC.get(TRACE_ID); } public static void setTraceId(String traceId) { MDC.put(TRACE_ID, traceId); } public static void setContextMap(MapString, String context) { MDC.setContextMap(context); } public static void removeTraceId() { MDC.remove(TRACE_ID); } public static void clear() { MDC.clear(); } }ThreadMdcUtil public class ThreadMdcUtil { public static void setTraceIdIfAbsent() { if (MdcUtil.getTraceId() null) { MdcUtil.setTraceId(MdcUtil.generateTraceId()); } } public static T CallableT wrap(final CallableT callable, final MapString, String context) { return () - { if (context null) { MdcUtil.clear(); } else { MdcUtil.setContextMap(context); } setTraceIdIfAbsent(); try { return callable.call(); } finally { MdcUtil.clear(); } }; } public static Runnable wrap(final Runnable runnable, final MapString, String context) { return () - { if (context null) { MdcUtil.clear(); } else { MdcUtil.setContextMap(context); } //设置traceId setTraceIdIfAbsent(); try { runnable.run(); } finally { MdcUtil.clear(); } }; } }自定义 ThreadPoolTaskExecutor /** * 日志追踪线程池配置 * * author fengxc */public class CustomThreadPoolTaskExecutor extends ThreadPoolTaskExecutor { Override public void execute(NotNull Runnable task) { super.execute(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap())); } NotNull Override public Future? submit(NotNull Runnable task) { return super.submit(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap())); } NotNull Override public T FutureT submit(NotNull CallableT task) { return super.submit(ThreadMdcUtil.wrap(task, MDC.getCopyOfContextMap())); } }继承 AsyncConfigurerSupport 实现默认的异步线程池 EnableAsync SpringBootConfiguration EnableConfigurationProperties(TaskExecutionProperties.class) public class ThreadPoolConfig extends AsyncConfigurerSupport { Resource private TaskExecutionProperties properties; /** * 重写默认线程池配置Async异步会使用这个线程池 */ Override public Executor getAsyncExecutor() { TaskExecutionProperties.Pool pool properties.getPool(); TaskExecutorBuilder builder new TaskExecutorBuilder(); builder builder.queueCapacity(pool.getQueueCapacity()); builder builder.corePoolSize(pool.getCoreSize()); builder builder.maxPoolSize(pool.getMaxSize()); builder builder.allowCoreThreadTimeOut(pool.isAllowCoreThreadTimeout()); builder builder.keepAlive(pool.getKeepAlive()); Shutdown shutdown properties.getShutdown(); builder builder.awaitTermination(shutdown.isAwaitTermination()); builder builder.awaitTerminationPeriod(shutdown.getAwaitTerminationPeriod()); builder builder.threadNamePrefix(properties.getThreadNamePrefix()); CustomThreadPoolTaskExecutor executor builder.build(CustomThreadPoolTaskExecutor.class); executor.initialize(); return TtlExecutors.getTtlExecutor(executor); } Override public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { return new SimpleAsyncUncaughtExceptionHandler(); } }
http://www.zqtcl.cn/news/543936/

相关文章:

  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片
  • 四川省建设厅注册管理中心网站设计上海2021门票
  • 帝国cms做微网站人力资源公司怎么开
  • 网站建设学徒松江品划做网站公司
  • 灯饰网站需要这么做深圳专业网站设计公司
  • 政务网站设计wordpress 嵌入html5
  • 移动网站 pc网站的区别吗网站建设工厂
  • 有意义网站织梦圈子如何调用网站默认模板
  • 南京公司网站模板建站网页制作中的网站维护
  • 微信分享 淘宝网站 怎么做wordpress访问慢
  • 网站后台制作沈阳营销型网站制作技术
  • 微页制作平台网站建设wordpress文章显示数量
  • 望野古诗王绩seo优化系统
  • 网站设计大概流程惠城区龙丰街道
  • 游戏平台十大排名南宁seo优化公司
  • 佛山外贸网站建设方案企业管理控制系统
  • 分类信息网站如何做排名品牌建设卓有成效
  • 企业网站报价方案模板下载营销软件crm
  • 湛江网站开发哪家专业东莞营销型手机网站建设
  • 做个外贸的网站不懂英语咋做做网站 嵌入支付
  • 官方模板关键字生成的代码添加在网站的什么地方?网站 建设 培训 视频
  • 做网站时图片要切片有什么作用网站导航栏模板怎么做
  • 网站做数据分析网站开发为什么不用cgi了
  • 有了网址可以建网站吗软件外包项目网站