防止飛書重復回調通知分布式鎖

## 場景

銷售訂單下,明細25明細款,

發起飛書審批,飛書設置自動審核通過,導致會收到兩次審核通過通知

加了分布式鎖 ,仍導致執行業務執行兩遍了

String lockKey = "feihsu-approvalNotify:" + instanceCode;
RLock lock = redissonClient.getLock(lockKey);
boolean res = lock.tryLock(20, 20, TimeUnit.SECONDS); 

原來是業務邏輯代碼超過 20s了,導致自動釋放鎖了

對 lock.tryLock(20, 20, TimeUnit.SECONDS);參數不理解

第一個參數是獲取鎖的等待時間

第二個參數是持有鎖的時間,租借時間,不會自動續鎖

所有 lock.tryLock(20,TimeUint.SECONDS) ,持有鎖時間參數默認-1

所以應改成

boolean res = lock.tryLock(20, ?TimeUnit.SECONDS);

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91212.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91212.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91212.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構:下三角矩陣(Lower Triangular Matrix)

目錄 什么是下三角矩陣? 我們要存哪些元素?一共幾個? 推導索引映射公式 核心問題:給定 (i,j),如何計算 k? 什么是下三角矩陣? 一個 n n 的矩陣,如果它在主對角線以上的所有元…

力扣209:長度最小的子數組

力扣209:長度最小的子數組題目思路代碼題目 給定一個含有 n 個正整數的數組和一個正整數 target 。 找出該數組中滿足其總和大于等于 target 的長度最小的 子數組 [numsl, numsl1, …, numsr-1, numsr] ,并返回其長度。如果不存在符合條件的子數組,返回…

采購管理系統哪家性價比高?

在企業數字化轉型進程中,采購管理系統已成為降本增效的核心工具。但面對市場上五花八門的產品,“性價比” 成為企業選型時的關鍵考量 —— 既要功能貼合業務需求,又要成本可控,還需兼顧實施效率與長期擴展性。以下從性價比維度解析…

輕松打造Unity小游戲AR體驗

目錄 AR會話初始化 平面追蹤與相機定位 用戶交互處理 實時渲染 Unity 小游戲宿主現已支持 AR 功能,本文介紹如何從零開始創建一個可以在Unity小游戲宿主上運行的AR小游戲,歡迎大家試用! 想為你的小游戲注入虛實交融的魔力嗎?…

IFCVF驅動+vhost-vfio提高虛擬機網絡性能

??IFCVF (Intel FPGA Virtual Function)?? 是 Intel 為其基于 FPGA 的智能網卡開發的 ??SR-IOV 虛擬功能驅動??,屬于 ??PF4 (Physical Function 4)?? 架構的一部分。它是專為高性能網絡虛擬化場景設計的硬件加速解決方案。 云計算智能網卡(soc)或DPU場景下,IFC…

Hook捕獲并攔截文件創建行為

需要用到minhook 先編譯DLL #include <Windows.h> #include <string> #include <TlHelp32.h> #include <Shlwapi.h>#include "MinHook.h" // 自動選擇正確的MinHook庫 #pragma comment(lib, "Shlwapi.lib") #if defined(_M_X64) …

圖像平滑處理

圖像平滑處理四種常用方式1. 均值濾波 (cv2.blur())2. 高斯濾波 (cv2.GaussianBlur())3. 中值濾波 (cv2.medianBlur())4、雙邊濾波 (cv2.bilateralFilter())總結存圖時遇到一個中文版亂碼問題四種常用方式 平滑處理&#xff08;也稱為模糊處理&#xff09;&#xff0c;用于減少…

fortigate的waf功能

在系統管理----可見功能----web應用防火墻打開waf功能Web 應用程序防火墻 &#xff08;WAF&#xff09; 配置文件可以檢測和阻止已知的 Web 應用程序攻擊。您可以將 WAF 配置文件配置為使用簽名和約束來檢查 Web 流量。您還可以強制實施 HTTP 方法策略&#xff0c;該策略控制與…

AI Compass前沿速覽:可靈創意工坊、字節Coze StudioCoze Loop、通義萬相2.2 、智譜GLM-4.5、騰訊混元3D世界模型開源

AI Compass前沿速覽&#xff1a;可靈創意工坊、字節Coze Studio&Coze Loop、通義萬相2.2 、智譜GLM-4.5、騰訊混元3D世界模型開源 AI-Compass 致力于構建最全面、最實用、最前沿的AI技術學習和實踐生態&#xff0c;通過六大核心模塊的系統化組織&#xff0c;為不同層次的學…

SpringCloud之Gateway

SpringCloud之Gateway 官網地址&#xff1a; https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factories 1. 什么是gateway Spring Cloud Gateway 是Spring Cloud官方推出的第二代網關框架&#xff0c;定位于取代 Net…

關于獲取某目錄及子目錄下所有文件且不包含隱藏文件

最近比較忙&#xff0c;很少寫blog了&#xff01;&#xff01;&#xff01;關于獲取目錄及子目錄下所有文件是常遇到的功能&#xff0c;一般通過遞歸遍歷實現。而生產場景中&#xff0c;一般是遍歷nas上的目錄&#xff0c;在nas上利用File.listFiles(),在linux系統上無法獲取含…

docker可視化管理工具lazydocker

Lazydocker 是一個用 Go 語言編寫的命令行 Docker 管理工具。它提供了一個簡潔、直觀的終端界面&#xff0c;支持鍵盤和鼠標操作&#xff0c;可通過方向鍵與快捷鍵實時查看和管理容器、鏡像、網絡等資源&#xff0c;大幅簡化了原本復雜的命令行操作&#xff0c;提升操作效率。2…

少林寺用什么數據庫?

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 作者&#xff1a;IT邦德 中國DBA聯盟(ACDU)成員&#xff0c;15年DBA工作經驗 Oracle、PostgreSQL ACE CSDN博客專家及B站知名UP主&#xff0c;全網粉絲15萬 擅長主流Oracle、MySQL、PG、高斯及…

C語言---萬能指針(void *)、查找子串(strncmp函數的應用)多維數組(一維數組指針、二維數組指針)、返回指針值函數、關鍵字(const)

一、字符串與指針用字符指針指向一個字符串&#xff0c;可以不定義字符數組&#xff0c;而定義字符指針。用字符指針指向字符串中的字符。不能使用指針去改變不能修改的空間。eg1. 運用指針將 src 的內容拷貝到 dest 中去void Strcpy(char *dest, char *src) {while(*src ! \0)…

Keepalived 實戰

一、高可用集群基礎核心概念與指標集群類型&#xff1a;LB&#xff08;負載均衡&#xff09;&#xff1a;如 LVS、HAProxy、Nginx&#xff0c;提升吞吐量&#xff1b;HA&#xff08;高可用&#xff09;&#xff1a;保障核心服務&#xff08;數據庫、Redis&#xff09;連續性&am…

窗口函數替代子查詢的復雜查詢簡化技巧

窗口函數通過單次掃描完成分析計算&#xff0c;能大幅簡化子查詢結構并提升性能&#xff0c;尤其在排名、累計計算等場景?15。以下是核心優化技巧&#xff1a;一、排名場景替代方案?部門工資排名?傳統子查詢需自連接和聚合計數&#xff1a;sqlSELECT e1.name, e1.salary, (S…

深度學習:預訓練和warm up的區別

“預訓練&#xff08;Pre-training&#xff09;”和“Warm-up&#xff08;預熱&#xff09;”是深度學習中常見的兩個訓練策略&#xff0c;它們雖然都在訓練初期起作用&#xff0c;但本質和目的完全不同。一、預訓練&#xff08;Pre-training&#xff09;1. 定義預訓練是指&…

Apache Ignite中分布式信號量(Distributed Semaphore)的說明和使用示例

這段內容是關于 Apache Ignite 中 分布式信號量&#xff08;Distributed Semaphore&#xff09; 的說明和使用示例。我們來一步步解析&#xff0c;幫助你深入理解它的含義和用途。&#x1f539; 一、什么是 Semaphore&#xff08;信號量&#xff09;&#xff1f; 在并發編程中&…

怎么提升服務器的防攻擊能力!

提升服務器的防攻擊能力需要從??架構設計、技術防護、運維管理??等多維度入手&#xff0c;覆蓋網絡層、系統層、應用層及數據層的安全防護。以下是具體的策略和實踐方法&#xff1a;??一、基礎安全加固&#xff1a;消除自身漏洞??服務器自身的脆弱性是最常見的攻擊入口…

vscode配置rust環境

1.官網下載vscode&#xff0c;安裝 2.vscode命令行運行&#xff1a; Invoke-WebRequest https://win.rustup.rs/x86_64 -OutFile rustup-init.exe然后&#xff1a; .\rustup-init.exe3.驗證 先配置path&#xff1a; $env:Path ";$env:USERPROFILE\.cargo\bin"查看是…