為什麼要使用 spring batch?
一.工作當中需要做資料同步,單錶資料 在 10w 左右。
二.可以解耦合,將業務操作拆分為job,step,tasklet。
1.job可以配置個 basejob 設定***,做 統一的異常監聽,並且傳送訊息通知開發人員異常清空;
2.step在乙個job 中可以有多個,next 可以設定 下乙個 需要執行的 step,step 中 設定tasklet。
3.tasklet可以自己寫個去basetasklet去實現tasklet,前面是這樣做的,後面感覺沒什麼必要,重點需要關注的其實 就是 reader,processor,writer,流程圖如下
注:大框是類,小框是相應類中的方法。
3.效能好,先直接 插入了2w 多條資料試了下,直接使用 jdbctempleate 直接插入,速度是 35秒,使用 spring batch,並且配置 reader,process,writer,速度是27秒,反覆測試的結果,差距不是很大, spring batch 我設定的 是 5000 提交一次,這裡提醒下,批量插入,切記要注意 autocommit 的值為 false,不管是 使用 事物達到,還是直接獲得 db connection 設定,在事物處理中的話,預設是 false,事物結束才提交。
4.可以實現非同步 處理和寫,一邊 process ,一邊writer,但是 對於批量插入或者process 時間少的業務環境顯得雞肋,因為批量插入不可能一次性處理一條插入一條,這樣插入的速度 會極大的受到影響。
5.可配置靈活性強,job 可以通過配置非同步執行。
Vim 使用筆記
set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...
xemacs使用筆記
xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...
TreeView使用筆記
treeview由節點構成,建樹通過對treeview.items屬性進行操作。items是乙個ttreenodes物件,這是乙個ttreenode集。一 針對ttreenodes,也就是 treeview.items,有這些屬性 1 count,節點個數。2 item index 通過index得...