用戶登錄后,修改狀態(tài),結(jié)果頻繁死鎖,剛開始由于不太在意,同時也因為服務(wù)器打印的異常包含了太多其它功能造成的錯誤信息,導致了真正錯誤的隱藏,后來終于發(fā)現(xiàn)問題,原來一切都是偷工減料惹的禍。
原來在作修改用戶時,由于考慮到角色權(quán)限的改變,我就直接把所有用戶角色相關(guān)的組角色清掉重建,然而在修改狀態(tài)時,又重復調(diào)用了這個方法,死鎖在所難免了。
考慮到這個錯誤引發(fā)的問題,我有兩點感觸,一是功能最好不要疊加,否則造成的連鎖反應很難調(diào)試;二是不應該偷工減料,應該針對不同的需求實現(xiàn)不同的功能,忌諱復制粘貼,很容易引發(fā)許多莫名其妙的問題。在出現(xiàn)大量復制粘貼的功能時,盡可能的重構(gòu)自己的代碼,這一點也許有些困難,但要盡可能的去做,目的是減輕后續(xù)工程的維護量!
原來在作修改用戶時,由于考慮到角色權(quán)限的改變,我就直接把所有用戶角色相關(guān)的組角色清掉重建,然而在修改狀態(tài)時,又重復調(diào)用了這個方法,死鎖在所難免了。
考慮到這個錯誤引發(fā)的問題,我有兩點感觸,一是功能最好不要疊加,否則造成的連鎖反應很難調(diào)試;二是不應該偷工減料,應該針對不同的需求實現(xiàn)不同的功能,忌諱復制粘貼,很容易引發(fā)許多莫名其妙的問題。在出現(xiàn)大量復制粘貼的功能時,盡可能的重構(gòu)自己的代碼,這一點也許有些困難,但要盡可能的去做,目的是減輕后續(xù)工程的維護量!