簡體   English   中英

使用連接池時更新數據源

[英]updating the data source while using connection pooling

我正在運行一個使用連接池的應用程序,以便管理從數據庫中提取的數據。 對於連接池,我使用的是HikariCP。

在第一個應用程序運行時,還有另一個應用程序在更新數據庫。 為連接池創建的數據源是否也會自動更新? 如果沒有,我該怎么辦? 每次數據庫更新時都應該創建一個新的連接池嗎?

例如:數據庫記錄了某個年級的學生。 為連接池創建了一個數據源。 比學生的成績有所改變。 如何更新數據源?

任何幫助,將不勝感激。 謝謝。

希望這能消除您的困惑。

大多數應用程序在主動處理事務時,僅需要一個線程即可訪問JDBC連接,通常只需幾毫秒即可完成。 當不處理事務時,連接處於空閑狀態。 連接池使空閑連接可以被其他一些線程用來完成有用的工作。

實際上,當線程需要使用JDBC針對MySQL或其他數據庫進行工作時,它會請求池中的連接。 使用連接完成線程后,它將返回到池,以便任何其他線程都可以使用它。

無論是否使用連接池,其他應用程序對數據庫的更新都會正常進行,並且每次查詢數據庫時,您都會看到新數據。 您無需“更新連接池”

此圖可以幫助您了解實際情況:

數據庫服務器架構圖

Java所謂的“數據源”是一個抽象概念,代表數據的位置,而不是數據本身。 您可以創建到一個數據源的多個連接,但是只有該數據的一個副本,由數據庫服務器控制。

如果從一個應用程序更新數據,則通過連接將消息發送到數據庫服務器,以更改保存在數據存儲中的數據。 所做的更改對其他任何應用程序都是立即可見的,因為它們都使用相同的數據庫(即,相同的物理數據存儲)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM