簡體   English   中英

Tomcat 7連接池問題

[英]Tomcat 7 Connection Pool Issue

我似乎偶然發現了tomcat 7和連接池的怪異行為...

在我的應用程序中,我具有以下3個數據源-連接到相同的數據庫,但是服務不同(並且這3個數據源都相同)

jdbc:sybase:Tds:<db_ip_address>:<db_port>/service1
jdbc:sybase:Tds:<db_ip_address>:<db_port>/service2
jdbc:sybase:Tds:<db_ip_address>:<db_port>/service3

在context.xml中,我像往常一樣將3個數據源列為單獨的資源,並設置了所有必要選項,包括

<Resource
    name="jdbc/dbDataSource1"
    type="javax.sql.DataSource"
    driverClassName="com.sybase.jdbc3.jdbc.SybDriver"
    factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
    maxActive="20"
    initialSize="1"
    minIdle="5"
    maxIdle="10"

<Resource
    name="jdbc/dbDataSource2"
    <!-- Rest is same as above -->

<Resource
    name="jdbc/dbDataSource3"
    <!-- Rest is same as above -->

我注意到的是,因為3個數據源連接到同一數據庫,所以tomcat似乎僅在創建和使用一個連接池並在所有3個之間共享。這可以在啟動時看到,如果我將initialSize更改為10,創建前兩個數據源沒問題-在第三個,我得到一個異常說

java.sql.SQLException: JZ00L: Login failed. 
Examine the SQLWarnings chained to this exception for the reason(s).

我是否在這里缺少有關如何設置連接池的明顯信息? 我查看了tomcat文檔以及與全局連接池有關的內容,但是據我看來,這似乎與共享多個應用程序之間的連接有關?

任何幫助深表感謝!

確實似乎有太多空閑連接。 嘗試增加空閑的Connection屬性,或者檢查是否要關閉所有打開的連接。 請參考此鏈接

暫無
暫無

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

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