2015-06-04 24 views
0

我有一個數據源配置問題。MaxActive數據庫連接參數不起作用

我有一個Tomcat 7與Java 7和石英Web應用程序。 本申請具有構造一個數據源:

<Resource 
    auth="Container" 
    driverClassName="com.mysql.jdbc.Driver" 
    factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" 
    logAbandoned="true" 
    maxActive="3" 
    maxIdle="1" 
    maxWait="10000" 
    name="jdbc/name" 
    password="XXXXXX" 
    removeAbandoned="true" 
    removeAbandonedTimeout="120" 
    type="javax.sql.DataSource" 
    url="jdbc:mysql://xxxxxx:3306/xxxxx?autoReconnect=true&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true" 
    username="usr" 
    validationQuery="SELECT 1" /> 

隨着maxActive = 3我期望看到不超過3的連接打開。取而代之的是,每次Quartz Job開始時,我都會看到一個新的連接,直到8連接(不知道這是否是默認限制)。

所以看起來這個參數沒有考慮,但其他的是的,因爲連接到數據庫是正確的,所以用戶名,密碼等等都可以。

你能幫助我嗎?

感謝

回答

0

我的回答對自己

這是廠家的問題org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

使用org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory (取代原始的tomcat 7罐)它的工作原理

不知道爲什麼,但它的工作原理。對於org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory,即使initialSize設置爲8,也只有一個被實例化。只需用org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory replacinig,8中實例化