真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java多線程在項目中的應(yīng)用-創(chuàng)新互聯(lián)

多線程對于編程人員都不陌生,比如我們常用的數(shù)據(jù)庫連接池、tomcat等。本博客主要說一下我在工作中對多線程的使用的思考。具體多線程的使用方法就不在這里向大家介紹了。

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)椒江,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

1.背景

我最近做的項目是供應(yīng)鏈相關(guān)的項目,而對于項目中涉及的各種單據(jù)都需要傳給另外一套系統(tǒng)做賬(財務(wù)系統(tǒng)),比如:合同單據(jù)、采購單據(jù)、收貨單據(jù)等,每類單據(jù)都會有工作流。

1) 最初

流程是這樣的 首先在系統(tǒng)創(chuàng)建單據(jù),提交之后開始走審批流及各種通知,當(dāng)審批流審批結(jié)束之后,觸發(fā)同步財務(wù)系統(tǒng)。當(dāng)我們系統(tǒng)有單據(jù)發(fā)生變化時,如果單據(jù)已經(jīng)審批通過,會將變化的內(nèi)容推送給財務(wù)系統(tǒng)。

那這會有什么問題呢?假如我們現(xiàn)在在做一個發(fā)票沖銷的功能,當(dāng)用戶在頁面點擊它之后,首先在我們系統(tǒng)完成沖銷邏輯,然后調(diào)用財務(wù)系統(tǒng)將單據(jù)同步給它。

起初我們是采用同步的方式調(diào)用財務(wù)系統(tǒng)的接口,調(diào)用財務(wù)系統(tǒng)的接口我們方法又需要等待它返回給我們操作狀態(tài)(成功還是失?。鴮τ谟行薷牡臉I(yè)務(wù)方法我們都會在方法上使用事務(wù),這會導(dǎo)致我們方法占用事務(wù)時間過長產(chǎn)生數(shù)據(jù)庫行級鎖沖突問題。

2) 思考

當(dāng)項目上線之后,經(jīng)常收到用戶反饋說項目出錯,查看日志發(fā)現(xiàn)經(jīng)常出現(xiàn)行級鎖問題。為什么會產(chǎn)生行級鎖問題呢?
比如采購單來說,采購單采用的是頭行結(jié)構(gòu)(主單和明細(xì)),采購單包含采購的數(shù)量,收貨數(shù)量,在途數(shù)量等字段,而在收貨時,也會操作收貨單對應(yīng)的采購單,如果在采購單和收貨單同時操作同一采購單號的單據(jù),并且操作字段都需要同步到財務(wù)系統(tǒng),就會導(dǎo)致方法占用事務(wù)過長,更容易產(chǎn)生行級鎖問題。

2.解決方案

除了會產(chǎn)生上面所說的行級鎖問題之外,其實還有另外一個問題,就是分布式事務(wù)來保證數(shù)據(jù)一致性問題。

1) 異步方式

采用多線程的方式,將我們系統(tǒng)中所有需要同步的到財務(wù)系統(tǒng)的地方都改成異步的方式,因為系統(tǒng)有很多種類型的單據(jù),比如說我們系統(tǒng)有6種單據(jù),那我們就創(chuàng)建一個大小為6的線程池,每個線程池配一個阻塞隊列。每個線程池和6種單據(jù)一一對應(yīng),這樣就可以保證我們不會開啟太多線程而占用系統(tǒng)資源。
java多線程在項目中的應(yīng)用
例如采購單修改之后,除了做在本系統(tǒng)中的保存之外,同步到財務(wù)系統(tǒng)的地方只需要將采購單的同步請求放入線程池中。
除了異步的方式之外,我們還可以同步的方式發(fā)送給對方系統(tǒng)之后,對方系統(tǒng)立即返回,當(dāng)對方系統(tǒng)執(zhí)行完畢之后,回調(diào)我們系統(tǒng)的接口,我們系統(tǒng)再做成功之后的邏輯處理。

2) MQ的方式

除了上面這種方式之外,就是還可以采用MQ的方式,將需要同步的單據(jù)發(fā)送到MQ里面,對方系統(tǒng)從MQ里面取單據(jù),取出的不同單據(jù)做不同的業(yè)務(wù)區(qū)分。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。


新聞標(biāo)題:java多線程在項目中的應(yīng)用-創(chuàng)新互聯(lián)
本文路徑:http://weahome.cn/article/coojsc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部