国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

使用相同的JDBC連接在多次調(diào)用Spring Boot REST API時
P粉769045426
P粉769045426 2023-08-27 09:40:00
0
1
737
<p>我有一個用Java/Spring Boot編寫的REST Web服務(wù),運(yùn)行在Tomcat 9上。</p> <p>我需要在一個Web服務(wù)調(diào)用中創(chuàng)建一個MySQL臨時表,并在另一個服務(wù)調(diào)用中訪問它。由于臨時表是連接范圍的,所以我需要在第一個調(diào)用中使用創(chuàng)建表時使用的相同連接,在第二個調(diào)用中的“select”查詢中使用。</p> <p>問題是Tomcat在連接池中管理JDBC連接。在第二個服務(wù)調(diào)用中,無論我創(chuàng)建多少個JDBC連接,都可以從連接池中選擇任何一個連接。在這種情況下,臨時表將不可見。</p> <p>我的問題是:我如何從連接池中選擇相同的連接?是否有任何一種標(biāo)識/標(biāo)簽可以區(qū)分它們?</p>
P粉769045426
P粉769045426

全部回復(fù)(1)
P粉277464743

即使您可以確保在后續(xù)請求中使用“相同”的連接,這也無濟(jì)于事,因?yàn)閺某刂蟹峙溥B接的一部分涉及重置與會話狀態(tài)相關(guān)的事物。

這是有意設(shè)計(jì)的,也是一件好事,因?yàn)榉駝t您可能會從一個數(shù)據(jù)庫會話泄漏私密數(shù)據(jù)到另一個無關(guān)的會話。例如,如果一個用戶在臨時表中存儲了一些敏感數(shù)據(jù),然后另一個用戶的數(shù)據(jù)庫會話可以讀取該臨時表,這將是一個問題。同樣適用于未完成的事務(wù)、會話變量和連接字符集。當(dāng)連接從池中分配時,所有這些都會被重置。

因此,如果您使用臨時表,應(yīng)僅在同一請求期間使用它們,因?yàn)樵谑褂猛暝撨B接后,它們將被刪除。

如果您需要在下一個請求中使用上一個請求的數(shù)據(jù),您可以:

  • 將數(shù)據(jù)存儲在非臨時表中。
  • 將數(shù)據(jù)存儲在緩存中。
  • 編寫Java后臺服務(wù)來處理數(shù)據(jù),以便您可以在請求之外創(chuàng)建和使用臨時表。這是更多的工作,對于簡單的Web應(yīng)用程序來說可能過于復(fù)雜,但在某些服務(wù)中,這是最佳解決方案。
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板