0
我有一個代碼片段如下,這將確保一些用戶操作只允許有限的次數。春天比賽條件控制器
1. @Value("${x.y.z.maxRetriesAllowed}")
2. int maxAllowedRetries;
3. int retryLimit = --maxAllowedRetries;
當此去靜態代碼分析(設防),該工具報告,有在線路可能的競爭條件3
有人請建議我們如何才能避免,如果沒有會話對象的幫助。
我認爲一旦請求進入,那麼只有控制器方法中的代碼纔會開始執行。所以到那個時候,spring會讓maxAllowedRetries可供進一步使用。 – kakurala
這些是實例變量,對嗎?所以,當對象被創建時,它們都會被初始化爲零,然後在某個時間後面的spring會設置maxAllowedRetries。無論如何,爲此寫一個測試,你會看到發生了什麼。 –