Lock4j 使用参数名作为锁 key 的一个注意点
Lock4j 使用参数名作为锁 key 的一个注意点最近遇到一个 Lock4j 加锁失败的问题。业务方法上使用了类似下面的注解Lock4j(keys{#bizNo},expire60000,acquireTimeout15000)按预期Lock4j 应该使用方法入参bizNo作为锁 key 的一部分。但实际排查时发现锁 key 中没有正确拿到bizNo导致生成的锁 key 不符合预期最终出现加锁失败。原因是#bizNo这种写法依赖运行时能够获取到真实的方法参数名。如果项目编译时没有保留参数名编译后的 class 文件中就拿不到bizNoLock4j 也就无法正确解析这个表达式。这个问题有两种解决方式。第一种是在 Maven 编译配置中开启参数名保留plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdconfigurationparameterstrue/parameters/configuration/plugin这样重新编译后class 文件中会保留真实参数名Lock4j 就可以正常解析#bizNo。第二种是改成参数下标写法不依赖真实参数名Lock4j(keys{#a0},expire60000,acquireTimeout15000)#a0表示方法的第一个参数。只要bizNo是第一个入参就可以正确取到对应的值。如果希望代码可读性更好可以使用第一种方式如果希望避免依赖编译参数可以使用第二种方式。总体来说使用#参数名作为 Lock4j key 时需要确认项目编译时是否保留了方法参数名。

相关新闻

PWM05脉冲输出模块:隔离RS485通讯,高精度脉冲输出

PWM05脉冲输出模块:隔离RS485通讯,高精度脉冲输出

在工业自动化体系中,精准运动控制、调速控功、定位执行是设备高效运行的核心基础。从精密数控机床、多轴流水线到智能分拣设备、变频调控系统,各类执行机构的动作精度、运行速度、工作行程,都离不开脉冲信号的精准驱动。5路工业级脉冲输出模块…

2026/6/27 6:59:39阅读更多 →
Java面试-02-JVM虚拟机

Java面试-02-JVM虚拟机

JVM虚拟机面试题(完整版) 目录 1. JVM主要组成部分及作用2. 类加载器 2.1 类加载器分类2.2 类加载机制及过程2.3 双亲委派机制 3. 运行时数据区4. 本地方法接口5. JVM垃圾回收 5.1 垃圾回收机制5.2 对象回收判断算法5.3 垃圾回收算法5.4 Java堆分代模型…

2026/6/27 6:59:39阅读更多 →
OpenClaw 原理详解:从 AI 网关到实际控制

OpenClaw 原理详解:从 AI 网关到实际控制

OpenClaw 原理详解:从 AI 网关到实际控制 摘要:最近开源的 OpenClaw 项目引起了广泛关注,它作为一个多渠道 AI 网关,能够将大模型的推理能力转化为对操作系统、软件 API 和硬件设备的实际控制权。本文将深入解析 OpenClaw 的核心原理、架构设计和应用价值。 一、OpenClaw …

2026/6/27 6:59:39阅读更多 →
AI科技热点日报 | 2026年6月26日

AI科技热点日报 | 2026年6月26日

文章目录AI科技热点日报 | 2026年6月26日📌 今日摘要一、英伟达股东大会:黄仁勋宣告"AI工厂时代"到来事件概要来源 / Sources二、MWC上海今日收官:AI从"秀肌肉"转向"拼落地"事件概要来源 / Sources三、智元机器…

2026/6/27 8:34:43阅读更多 →
云服务器搭建企业邮箱的方法和步骤:从零构建企业级邮箱服务

云服务器搭建企业邮箱的方法和步骤:从零构建企业级邮箱服务

数字经济高速发展的今天,企业通信的安全性与自主性成为核心竞争力的关键一环。传统第三方 SaaS 邮箱,普遍存在数据不受控、定制能力弱、长期使用成本高等问题。依托云服务器私有化部署企业邮箱系统,既能借助云平台弹性扩展、高可用、低成本的…

2026/6/27 8:34:43阅读更多 →
Blender下载教程Blender 5.0 保姆级安装步骤(附安装包)

Blender下载教程Blender 5.0 保姆级安装步骤(附安装包)

文章目录前言Blender 5.0 下载Blender 5.0 安装教程Blender 5.0三维建模怎么操作?从零开始的建模步骤前言 Blender作为一款开源免费的3D创作软件,在动画制作、影视特效、游戏设计等领域的应用越来越广泛。网上关于Blender下载和安装的教程虽然不少&…

2026/6/27 8:34:43阅读更多 →
锅炉板Z向性能选购指南及河南优邺等供应商对比

锅炉板Z向性能选购指南及河南优邺等供应商对比

锅炉板Z向性能的关键认知:为何普通板材无法满足抗撕裂需求在大型火电锅炉、高压容器等工程制造中,随着钢板厚度的增加,垂直于板面的拉伸应力风险显著上升。普通锅炉板虽然在平面方向强度达标,但在厚度方向的延展性和韧性往往不足&…

2026/6/27 8:34:43阅读更多 →
终极指南:如何让经典游戏在Win10/11上恢复局域网联机功能

终极指南:如何让经典游戏在Win10/11上恢复局域网联机功能

终极指南:如何让经典游戏在Win10/11上恢复局域网联机功能 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 你是否怀念那些经典游戏《星际争霸》、《魔兽争霸》、《暗黑破坏神2》的局域网对战时光?现在&…

2026/6/27 8:34:43阅读更多 →
避开低价套路陷阱|2026拼多多代运营公司推荐:揭秘五大靠谱服务商

避开低价套路陷阱|2026拼多多代运营公司推荐:揭秘五大靠谱服务商

近年来,随着拼多多持续推进品牌化、产业带战略以及百亿补贴计划,越来越多品牌商、工厂型企业开始布局拼多多渠道。然而,在市场需求快速增长的同时,代运营行业也呈现出良莠不齐的发展态势,"超低价代运营"&quo…

2026/6/27 8:29:43阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/26 11:03:22阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/27 5:46:02阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/26 9:29:01阅读更多 →
10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声&#xff1a;Retrieval-based-Voice-Conversion-WebUI完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrie…

2026/6/27 0:04:03阅读更多 →
Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider&#xff1a;3分钟AI智能分层&#xff0c;彻底告别手动抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的图像分层工作烦…

2026/6/27 0:04:03阅读更多 →
Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

1. 项目概述&#xff1a;为什么X-Frame-Options是Web安全的“防盗门”&#xff1f;最近在排查一个老项目的安全审计报告时&#xff0c;又被提到了“点击劫持”风险&#xff0c;矛头直指缺失的X-Frame-Options响应头。这已经不是第一次了&#xff0c;很多开发团队&#xff0c;尤…

2026/6/27 0:04:03阅读更多 →