我已經在ColdFusion管理員中創建了2個不同的數據源連接(對於MS SQL Server 2008),它們具有完全相同的設置,除了連接的實際名稱。我的問題是這會創建兩個不同的連接池還是會共享一個?如果在ColdFusion中有兩個不同的數據源連接,並且具有相同的設置,它們是否共享相同的池?
回答
它們將具有不同的池。就ColdFusion而言,這些池是在數據源級別定義的,並且您有兩個不同的數據源。爲什麼你會有兩個完全相同的設置不同的數據源?我想如果你想強制他們使用不同的連接池。我想不出爲什麼。
我發現此文件how database connections are handled in ColdFusion。請注意,爲每個數據源設置了「維護數據庫連接」設置。
下面是從頁有關連接池的部分(如果它消失了):
如果「維護數據庫連接」設置爲數據源,如何ColdFusion服務器維護連接池?
當爲數據源設置「維護數據庫連接」時,ColdFusion會在第一次連接數據庫後保持連接處於打開狀態。它在第一次連接後不會註銷數據庫。您可以根據上述步驟d中的說明更改此設置。 ColdFusion Administrator中的另一個設置叫做「將緩存的數據庫連接非活動時間限制爲X分鐘」,在X不活動的分鐘後關閉「維護的」數據庫連接。此設置爲服務器範圍,並確定何時最終關閉「維護」連接。您可以通過轉到ColdFusion管理器中的「緩存」選項卡來修改此設置。修改「限制緩存數據庫連接不活動時間X分鐘」的界面如下所示:
如果一個請求使用已開通了數據源的連接,另一個請求到數據源來,建立一個新的連接。由於只有一個請求可以隨時使用連接,因此同時請求將打開一個新的連接,因爲沒有空閒的緩存連接可用。連接池可以增加到爲每個數據源設置的同時連接限制的設置。此設置稱爲「限制連接」,位於ColdFusion管理員中。點擊其中一個數據源標籤,然後點擊其中一個數據源。點擊「CF設置」並在「限制連接」旁邊勾選,然後在「啓用X同時連接限制」一句中輸入一個數字。請注意,如果您沒有在數據源設置下進行設置,ColdFusion服務器將使用服務器範圍的「Simultaneous Requests」設置。
此時,ColdFusion服務器維護着兩個數據庫連接池。每個連接都會保留在池中,直到達到「連接超時」時間段或超過不活動時間。如果前兩個選項都未實現,則連接將保留在池中,直到ColdFusion重新啓動。
「連接超時」設置關閉連接並將其從池中刪除,無論它是否處於活動狀態或未處於活動狀態。如果進程處於活動狀態,則不會終止連接。您可以通過在ColdFusion管理器中轉到數據源的「CF設置」來更改此設置。注意:只有「緩存的數據庫連接非活動時間」設置纔會結束連接,如果尚未使用,則將其從池中清除。您還可以使用「連接超時」覆蓋「緩存的數據庫連接不活動」設置,因爲它僅適用於單個數據源,而不是所有數據源。
嘗試使用兩個不同的數據源創建臨時表,如果第二個查詢出現錯誤,則使用相同的池並運行完美的文件意味着不同的池。
他們有不同的池。池由cf java代碼實現。 (或者是jrun代碼中的那個部分....)。它不使用任何基於jdbc的池。 Cf10可能已經切換到基於jdbc的池,但我懷疑它。
作爲測試
設置「驗證連接」 SQL等待換延遲'00:上兩個池00' 或類似(等待1分鐘):01。由於每個池的訪問池都是單線程的 - 包括運行驗證所需的時間 - 每個訪問不同數據源的頁面都有2個頁面,因此請求兩個頁面。如果他們在1分鐘後完成了2個池,如果一個頁面需要1分鐘,另一個需要2分鐘 - 這是一個池
作爲一個方面說明,如果在這1分鐘內確認你拔出網線(導致jdbc socket永遠保持打開狀態,等待響應)您的線程池現在已經死機,您需要重新啓動CF
- 1. Facebook共享具有兩個不同維度的相同圖像
- 2. 如果兩件事並不相同,它們是否相等?
- 3. 如果它們相同,共享frozensets
- 4. 如果共享相同的值,將兩行連接在一起?
- 5. 兩個相連的表中有相同的記錄具有相同的外鍵
- 6. 合併兩個數據庫具有相同的設計(MySQL的)
- 7. 如何共享具有相同屬性的兩個接口的所有屬性
- 8. 兩個Datagrids具有相同的源,但輸出的結果略有不同
- 9. 如何將兩個數據幀相乘,如果它們沿着相應的行具有相同的索引值?
- 10. 左連接具有相同類型數據的兩列,不同的值
- 11. 如果多個類具有共同的靜態變量,它們是共享
- 12. 具有相同數據但不同類型的兩個向量
- 13. Angularjs:具有相同對象數據的2個不同範圍共享相同的行爲
- 14. 具有相同鍵和不同值的兩個JsonObject的合併
- 15. SQL:如果存在 - >比較兩個表並檢查它們是否具有相同的行數
- 16. 不同的JNI調用的相同參數是否具有相同的值?
- 17. 兩個具有相同值的枚舉,如何訪問它們?
- 18. 接受兩個不同的子類具有相同的@RequestMapping
- 19. 是否有可能有多個EDMX共享相同的型號?
- 20. 具有相同數據的兩個MYSQL表具有不同的大小
- 21. 具有相同的數據
- 22. 以不同的數據連接兩個相同的表結構
- 23. 檢查具有DateTime鍵的兩個詞典是否共享相同日期
- 24. 是否有可能有兩個具有相同名稱的不同變量?
- 25. 具有相同數據源的兩個控件的問題
- 26. 在2個不同的數據庫中的2個表,具有不同的結構,並且具有相同類型的數據進行同步
- 27. 同一類的兩個類具有相同的哈希碼,它們是否相等?
- 28. 兩個不同的答案,當它們在數學上相同..?
- 29. 如果不是所有變量都相同,如何連接兩個數據集?
- 30. 檢查兩個列表中的相同位置是否有相同的值