jdbc五個(gè)步驟 jdbc執(zhí)行異常后鏈接釋放慢怎么辦?
jdbc執(zhí)行異常后鏈接釋放慢怎么辦?首先明確這種場(chǎng)景:1. 應(yīng)用更改數(shù)據(jù)2. 應(yīng)用提交COMMIT(通過(guò)JDBC的Connection#commit()接口)3. Commit在數(shù)據(jù)庫(kù)端執(zhí)行成功4.
jdbc執(zhí)行異常后鏈接釋放慢怎么辦?
首先明確這種場(chǎng)景:
1. 應(yīng)用更改數(shù)據(jù)
2. 應(yīng)用提交COMMIT(通過(guò)JDBC的Connection#commit()接口)
3. Commit在數(shù)據(jù)庫(kù)端執(zhí)行成功
4. 由于網(wǎng)絡(luò)原因數(shù)據(jù)庫(kù)端發(fā)出的響應(yīng)信息未到達(dá)應(yīng)用端
5. 應(yīng)用端“并沒(méi)有收到成功的信息,所以應(yīng)用服務(wù)器認(rèn)為事務(wù)執(zhí)行失敗”,因此發(fā)起重試
現(xiàn)象:數(shù)據(jù)錯(cuò)誤,多轉(zhuǎn)了一筆錢
結(jié)論:這跟數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性半毛錢關(guān)系都沒(méi)有,數(shù)據(jù)庫(kù)表示:“應(yīng)用的鍋別讓我背”
應(yīng)用的BUG在于上述的第5點(diǎn),誰(shuí)讓你想當(dāng)然地認(rèn)為沒(méi)收到響應(yīng)就表示失敗了?
為什么京東越來(lái)越慢?
其實(shí)這兩年京東物流變慢是有趨勢(shì)的。
一是京東自營(yíng)的商品種類越來(lái)越多,導(dǎo)致自營(yíng)的倉(cāng)庫(kù)放不下這么多商品,所以只能挑選部分種類去存貨。如果你選擇了倉(cāng)庫(kù)附近沒(méi)有的商品,那么只能從遠(yuǎn)距離配送,也就相較于其他快遞一樣的速度甚至更慢。
京東快遞其實(shí)并不快,京東之所以給人速度快的感覺(jué)就是因?yàn)閾碛性S多自建的倉(cāng)庫(kù),江湖,商品提前放在離你就近的倉(cāng)庫(kù)里,如果你下單,他就直接可以從當(dāng)?shù)貍}(cāng)庫(kù)發(fā)貨。所以造就了京東速度快的感覺(jué)。
京東快遞,如果是遠(yuǎn)距離配送的話,甚至不如國(guó)內(nèi)的三通一達(dá)。因?yàn)榫〇|并沒(méi)有像三通一達(dá)這么完善的物流體系。京東屬于倉(cāng)儲(chǔ)模式,而三通一達(dá)才是真正意義上的快遞企業(yè)。
再有就是如今其他快遞的速度也飛速的增長(zhǎng),相較于京東的倉(cāng)儲(chǔ)模式速度非常接近了。所以京東的物流也已經(jīng)沒(méi)有任何的優(yōu)勢(shì)了。如果其他快遞都能實(shí)現(xiàn)當(dāng)日達(dá)或者次日達(dá),那么京東的物流優(yōu)勢(shì)完全就會(huì)喪失。
其實(shí)用過(guò)京東快遞的人都知道,京東快遞只是自營(yíng)的部分比較快,而第三方的商品,如果用京東快遞進(jìn)行運(yùn)輸并沒(méi)有三通一達(dá)快。
之所以你感覺(jué)京東快遞慢了,是因?yàn)槠渌爝f的速度快了