![240](https://cdn2.jianshu.io/assets/default_avatar/8-a356878e44b45ab268a3b0bbaaadeeb7.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
checkHaveEmptyList() 方法中獲取 subSql 是直接獲取左括號之后的全部桐筏,我在實際應(yīng)用中有使用函數(shù)的情況,比如 rank()又碌,這時這個空括號被匹配了九昧,所以考慮 subSql 去除括號后的其他內(nèi)容。for 循環(huán)后的部分代碼:
String subSql = sql.substring(index);
int rightBracketIndex = subSql.indexOf(')');
subSql = subSql.substring(0, rightBracketIndex + 1);
@閑人007 超過一定的size就不往delayQueue隊列里面丟數(shù)據(jù)了毕匀,走額外的補(bǔ)償铸鹰,本質(zhì)上原因是因為消費能力不夠?qū)е碌摹A硗庖环N方案就是可以試一下通過kafka消息隊列做消息分發(fā)皂岔,通過kafka消息隊列來控制消費頻率蹋笼。
DelayQueue之持久化方案上一篇文章中提到了我們在項目中運用DelayQueue解決了一些需要延遲執(zhí)行的任務(wù),但是最近我們在生產(chǎn)環(huán)境上遇到了一個問題躁垛。重啟服務(wù)器后剖毯,那些未執(zhí)行的延遲任務(wù)就消失不見了。于...
KafkaTopicEnum這個就是枚舉的教馆,自己定義的逊谋,相當(dāng)于把所有可能存在的KafkaTopic都用枚舉來維護(hù)了
如何動態(tài)加載@KafkaListener的topics問題來源 我司最近剛重構(gòu)完,終于有時間去償還欠下的技術(shù)債了土铺。 最先準(zhǔn)備改造的就是將一些原本應(yīng)該異步執(zhí)行而因重構(gòu)時間緊而被迫同步執(zhí)行的方法胶滋,通過消息隊列異步化板鬓。 在原來的老項目...
ABTest系統(tǒng)背景 互聯(lián)網(wǎng)與傳統(tǒng)軟件行業(yè)的開發(fā)最大區(qū)別就是快速迭代,新增一個業(yè)務(wù)或者新增一個基于老業(yè)務(wù)的算法更新也許只是某個工程師一天的結(jié)果。在這種代碼高速發(fā)布過程中, 必...
使用現(xiàn)狀 Redis分布鎖的基礎(chǔ)內(nèi)容赫蛇,我們已經(jīng)在基于AOP和Redis實現(xiàn)的簡易版分布式鎖這篇文章中講過了,也在文章中示范了正常的加鎖和解鎖方法雾叭。 分布式鎖在之前的項目中一直...
1. 問題背景: 在之前的項目中,有遇到這樣一個使用場景:在一個TransactionA中赚瘦,我們先向數(shù)據(jù)庫中插入了一條數(shù)據(jù)EntityA粟誓,之后起了一個線程池,而在線程池中我們...
問題來源 我司最近剛重構(gòu)完起意,終于有時間去償還欠下的技術(shù)債了鹰服。 最先準(zhǔn)備改造的就是將一些原本應(yīng)該異步執(zhí)行而因重構(gòu)時間緊而被迫同步執(zhí)行的方法,通過消息隊列異步化揽咕。 在原來的老項目...