MMORPG战斗系统随笔(三)、AI系统简介
非卸懒量1、pom.xml 依赖复制代码org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-loggingorg.projectlomboklombok1.16.10复制代码2、整合logback打印日志logback.xml (日志配置文件)关键代码[traceId:%X{traceId}]traceId是通过拦截器里MDC.put(traceId, tid)添加。复制代码[traceId:%X{traceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n${log}/%d{yyyy-MM-dd}.log30[traceId:%X{traceId}] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n10MB复制代码3、application.yml指定logback.xml配置目录logging:config: classpath:logback.xml4、异步线程的跟踪ID链路追踪业务逻辑是基于线程数据的传递进行处理主线程传递线程ID到子线程。处理方式重写线程池的execute*、submit*方法。复制代码public final class MyThreadPoolTaskExecutor extends ThreadPoolTaskExecutor {public MyThreadPoolTaskExecutor() {super();}Overridepublic void execute(Runnable task) {super.execute(TraceIdUtil.wrap(task, MDC.getCopyOfContextMap()));}Overridepublic Future submit(Callable task) {return super.submit(TraceIdUtil.wrap(task, MDC.getCopyOfContextMap()));}Overridepublic Future submit(Runnable task) {return super.submit(TraceIdUtil.wrap(task, MDC.getCopyOfContextMap()));}}复制代码4、异步定时任务线程接口ScheduledExecutorService的日志链路追踪。在执行前执行后进行跟踪ID的生成和删除。复制代码Bean(name scheduledExecutorService)protected ScheduledExecutorService scheduledExecutorService() {return new ScheduledThreadPoolExecutor(corePoolSize,new BasicThreadFactory.Builder().namingPattern(schedule-pool-%d).daemon(true).build(),new ThreadPoolExecutor.CallerRunsPolicy()) {Overrideprotected void beforeExecute(Thread thread, Runnable runnable) {super.beforeExecute(thread, runnable);// 为定时任务生成一个 traceIdTraceIdUtil.setTraceId();// 可选添加任务标识System.out.println(Scheduled task starting with traceId: TraceIdUtil.getTraceId());}Overrideprotected void afterExecute(Runnable r, Throwable t) {super.afterExecute(r, t);Threads.printException(r, t);TraceIdUtil.remove();}};}

相关新闻

rokid 眼镜 安装第三方安卓app

rokid 眼镜 安装第三方安卓app

文章目录背景1,开发社区2,Rokid Glasses ADB学习资料3,轻量级,端侧,低版本适配apk背景 Rokid glasses本质就是个低配版的安卓手机,和全智能手表、华强北手表区别不大, 开放了SDK,我…

2026/7/5 22:57:12 阅读更多 →
AI专著生成工具深度测评,帮你找到最适合的写作帮手

AI专著生成工具深度测评,帮你找到最适合的写作帮手

AI专著生成工具助力学术创作 对许多研究人员来说,撰写学术专著时面临的最大挑战,就是有限的精力与无限的需求之间的冲突。专著的写作通常需要花费3到5年,甚至更长时间,但研究者还要兼顾教学、科研项目和学术交流等多重任务&#…

2026/5/17 1:47:06 阅读更多 →
基于LSTM的风电功率缺失数据补全之旅

基于LSTM的风电功率缺失数据补全之旅

基于LSTM的风电功率缺失数据补全/缺失数据修复 编程语言:Python 风电数据在采集过程中可能会有缺失,需要对数据进行补全。 该程序考虑了风速,压力,密度等多个特征,能够完美地补全缺失数据。 可调节序列长度&#xff0c…

2026/7/7 1:52:02 阅读更多 →

最新新闻

Excel绝对引用原理与实战:$A$1、$A1、A$1三类锁定详解

Excel绝对引用原理与实战:$A$1、$A1、A$1三类锁定详解

1. 项目概述:为什么Excel里“$A$1”比“A1”更值得你花三分钟搞懂在Excel里复制公式时,你有没有遇到过这种崩溃时刻:明明在B2单元格写好了A1*1.05,往下拖到B3,它自动变成A2*1.05——可你真正想锁定的是A1那个固定税率&…

2026/7/7 22:04:03 阅读更多 →
AutoCAD 2025安装失败根源:.NET 6运行时与WDDM 3.0驱动适配指南

AutoCAD 2025安装失败根源:.NET 6运行时与WDDM 3.0驱动适配指南

1. 这不是“点下一步就完事”的安装——AutoCAD 2025 安装激活的本质是系统环境适配工程 AutoCAD 2025 不是一套普通软件,它是一套对Windows底层运行时、图形驱动、权限模型和系统组件高度敏感的工业级CAD平台。我带过三届高校制图课程,也给二十多家设计…

2026/7/7 22:04:03 阅读更多 →
Claude Code开发环境D盘部署全指南:Node.js、npm与PowerShell深度配置

Claude Code开发环境D盘部署全指南:Node.js、npm与PowerShell深度配置

1. 先说清楚:Claude Code 并不是能“手动安装到 D 盘”的独立软件很多人在搜索“Claude Code 手动安装 D 盘教程”时,心里默认它是一个像微信、Photoshop 那样双击.exe就能选路径安装的桌面程序。这个前提就错了——Claude Code 本质上不是一个可独立分发…

2026/7/7 22:02:02 阅读更多 →
Kubeflow实战指南:构建可交付的端到端机器学习流水线

Kubeflow实战指南:构建可交付的端到端机器学习流水线

1. 为什么我们需要 Kubeflow:从“能跑通”到“可交付”的真实断层你有没有过这样的经历?在本地 Jupyter Notebook 里,用 Scikit-learn 训练一个随机森林模型,准确率 92%,代码清爽,逻辑清晰,连注…

2026/7/7 22:00:01 阅读更多 →
SQL Join本质是数据关系翻译,不是拼表语法题

SQL Join本质是数据关系翻译,不是拼表语法题

1. 项目概述:为什么“SQL Join”不是语法题,而是数据关系的翻译器 “Introduction to SQL Joins”——这个标题看起来像教科书第一章,但在我带过37个真实业务团队、处理过2100次线上数据取数需求后,我越来越确信: 绝大…

2026/7/7 21:57:54 阅读更多 →
Python垃圾回收机制深度解析:代际回收、循环引用与调优实战

Python垃圾回收机制深度解析:代际回收、循环引用与调优实战

1. 项目概述:为什么Python的垃圾回收不是“设好就忘”的后台服务Python开发者常有个错觉:对象用完就丢,解释器自会收拾残局——毕竟del obj之后内存似乎就“干净”了。但真实场景里,你写完一个数据处理脚本,跑着跑着内…

2026/7/7 21:55:54 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/7 14:24:45 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/7 12:34:47 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/7 15:59:06 阅读更多 →

月新闻