大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

JDBC連接池的屬性

為了能夠順暢地在 Commons DBCP 與 Tomcat JDBC 連接池 之間轉換,大多數屬性名稱及其含義都是相同的。

1. JNDI 工廠與類型

屬性

描述

factory

必需的屬性,其值應為 org.apache.tomcat.jdbc.pool.DataSourceFactory

type

類型應為 javax.sql.DataSource 或 javax.sql.XADataSource。
根據類型,將創建org.apache.tomcat.jdbc.pool.DataSource 或 org.apache.tomcat.jdbc.pool.XADataSource。

2. 系統屬性

系統屬性作用于 JVM 范圍,影響創建于 JVM 內的所有池。

屬性

描述

org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader

布爾值,默認為 false。控制動態類(如JDBC 驅動、攔截器、驗證器)的加載。如果采用默認值,池會首先利用當前類加載器(比如已經加載池類的類加載器)加載類;如果類加載失敗,則嘗試利用線程上下文加載器加載。取值為 true 時,會向后兼容 Apache Tomcat 8.0.8 及更早版本,只會采用當前類加載器。如果未設置,則取默認值。

3. 常用屬性

屬性

描述

defaultAutoCommit

(布爾值)連接池所創建的連接默認自動提交狀態。如果未設置,則默認采用 JDBC 驅動的缺省值(如果未設置,則不會調用 setAutoCommit 方法)。

defaultReadOnly

(布爾值)連接池所創建的連接默認只讀狀態。如果未設置,將不會調用 setReadOnly 方法。(有些驅動并不支持只讀模式,比如:informix)

defaultTransactionIsolation

(字符串)連接池所創建的連接的默認事務隔離狀態。取值范圍為:(參考 javadoc)

·  NONE

·  READ_COMMITTED

·  READ_UNCOMMITTED

·  REPEATABLE_READ

·  SERIALIZABLE


如果未設置該值,則不會調用任何方法,默認為 JDBC 驅動。

defaultCatalog

(字符串)連接池所創建的連接的默認catalog。

driverClassName

(字符串)所要使用的 JDBC 驅動的完全限定的 Java 類名。該驅動必須能從與 tomcat-jdbc.jar 同樣的類加載器訪問

username

(字符串)傳入 JDBC 驅動以便建立連接的連接用戶名。注意,DataSource.getConnection(username,password) 方法默認不會使用傳入該方法內的憑證,但會使用這里的配置信息。可參看 alternateUsernameAllowed 了解更多詳情。

password

(字符串)傳入 JDBC 驅動以便建立連接的連接密碼。注意,DataSource.getConnection(username,password) 方法默認不會使用傳入該方法內的憑證,但會使用這里的配置信息。可參看 alternateUsernameAllowed 了解更多詳情。

maxActive

(整形值)池同時能分配的活躍連接的最大數目。默認為 100。

maxIdle

(整型值)池始終都應保留的連接的最大數目。默認為 maxActive:100。會周期性檢查空閑連接(如果啟用該功能),留滯時間超過 minEvictableIdleTimeMillis 的空閑連接將會被釋放。(請參考 testWhileIdle)

minIdle

(整型值)池始終都應保留的連接的最小數目。如果驗證查詢失敗,則連接池會縮減該值。默認值取自 initialSize:10(請參考 testWhileIdle)。

initialSize

(整型值)連接器啟動時創建的初始連接數。默認為 10。

maxWait

(整型值)在拋出異常之前,連接池等待(沒有可用連接時)返回連接的最長時間,以毫秒計。默認為 30000(30 秒)

testOnBorrow

(布爾值)默認值為 false。從池中借出對象之前,是否對其進行驗證。如果對象驗證失敗,將其從池中清除,再接著去借下一個。注意:為了讓 true 值生效,validationQuery 參數必須為非空字符串。為了實現更高效的驗證,可以采用 validationInterval。

testOnReturn

(布爾值)默認值為 false。將對象返回池之前,是否對齊進行驗證。注意:為了讓 true 值生效,validationQuery 參數必須為非空字符串。

testWhileIdle

(布爾值)是否通過空閑對象清除者(如果存在的話)驗證對象。如果對象驗證失敗,則將其從池中清除。注意:為了讓 true 值生效,validationQuery 參數必須為非空字符串。該屬性默認值為 false,為了運行池的清除/測試線程,必須設置該值。(另請參閱 timeBetweenEvictionRunsMillis)

validationQuery

(字符串)在將池中連接返回給調用者之前,用于驗證這些連接的 SQL 查詢。如果指定該值,則該查詢不必返回任何數據,只是不拋出 SQLException 異常。默認為 null。實例值為:SELECT 1(MySQL) select 1 from dual(Oracle) SELECT 1(MySQL Server)。

validationQueryTimeout

(整型值)連接驗證失敗前的超時時間(以秒計)。通過在執行 validationQuery 的語句上調用 java.sql.Statement.setQueryTimeout(seconds) 來實現。池本身并不會讓查詢超時,完全是由 JDBC 來強制實現。若該值小于或等于 0,則禁用該功能。默認為 -1。

validatorClassName

(字符串)實現 org.apache.tomcat.jdbc.pool.Validator 接口并提供了一個無參(可能是隱式的)構造函數的類名。如果指定該值,將通過該類來創建一個 Validator 實例來驗證連接,代替任何驗證查詢。默認為 null,范例值為:com.mycompany.project.SimpleValidator。

timeBetweenEvictionRunsMillis

(整型值)空閑連接驗證/清除線程運行之間的休眠時間(以毫秒計)。不能低于 1 秒。該值決定了我們檢查空閑連接、廢棄連接的頻率,以及驗證空閑連接的頻率。默認為 5000(5 秒)

numTestsPerEvictionRun

(整型值)Tomcat JDBC 連接池沒有用到這個屬性。

minEvictableIdleTimeMillis

(整型值)在被確定應被清除之前,對象在池中保持空閑狀態的最短時間(以毫秒計)。默認為 60000(60 秒)

accessToUnderlyingConnectionAllowed

(布爾值)沒有用到的屬性。可以在歸入池內的連接上調用 unwrap來訪問。參閱 javax.sql.DataSource 接口的相關介紹,或者通過反射調用 getConnection,或者將對象映射為 javax.sql.PooledConnection。

removeAbandoned

(布爾值)該值為標志(Flag)值,表示如果連接時間超出了 removeAbandonedTimeout,則將清除廢棄連接。如果該值被設置為 true,則如果連接時間大于 removeAbandonedTimeout,該連接會被認為是廢棄連接,應予以清除。若應用關閉連接失敗時,將該值設為 true 能夠恢復該應用的數據庫連接。另請參閱 logAbandoned。默認值為 false。

removeAbandonedTimeout

(整型值)在廢棄連接(仍在使用)可以被清除之前的超時秒數。默認為 60(60 秒)。應把該值設定為應用可能具有的運行時間最長的查詢。

logAbandoned

(布爾值)標志能夠針對丟棄連接的應用代碼,進行堆棧跟蹤記錄。由于生成堆棧跟蹤,對廢棄連接的日志記錄會增加每一個借取連接的開銷。默認為 false

connectionProperties

(字符串)在建立新連接時,發送給 JDBC 驅動的連接屬性。字符串格式必須為:[propertyName=property;]*。注意:user 與 password 屬性會顯式傳入,因此這里并不需要包括它們。默認為 null。

poolPreparedStatements

(布爾值)未使用的屬性

maxOpenPreparedStatements

(整型值)未使用的屬性

4. Tomcat JDBC 增強屬性

屬性

描述

initSQL

字符串值。當連接第一次創建時,運行的自定義查詢。默認值為 null。

jdbcInterceptors

字符串。繼承自類 org.apache.tomcat.jdbc.pool.JdbcInterceptor 的子類類名列表,由分號分隔。關于格式及范例,可參見下文的配置 JDBC 攔截器。

這些攔截器將會插入到 java.sql.Connection 對象的操作隊列中。

預定義的攔截器有:

·  org.apache.tomcat.jdbc.pool.interceptor

·  ConnectionState——記錄自動提交、只讀、catalog以及事務隔離級別等狀態。

·  org.apache.tomcat.jdbc.pool.interceptor

·  StatementFinalizer——記錄打開的語句,并當連接返回池后關閉它們。



有關更多預定義攔截器的詳盡描述,可參閱JDBC 攔截器

validationInterval

長整型值。為避免過度驗證而設定的頻率時間值(以秒計)。最多以這種頻率運行驗證。如果連接應該進行驗證,但卻沒能在此間隔時間內得到驗證,則會重新對其進行驗證。默認為 30000(30 秒)。

jmxEnabled

布爾值。是否利用 JMX 注冊連接池。默認為 true。

fairQueue

布爾值。假如想用真正的 FIFO 方式公平對待 getConnection 調用,則取值為 true。對空閑連接列表將采用 org.apache.tomcat.jdbc.pool.FairBlockingQueue 實現。默認值為 true。如果想使用異步連接獲取功能,則必須使用該標志。
設置該標志可保證線程能夠按照連接抵達順序來接收連接。
在性能測試時,鎖及鎖等待的實現方式有很大差異。當 fairQueue=true 時,根據所運行的操作系統,存在一個決策過程。假如系統運行在 Linux 操作系統(屬性 os.name = linux)上,為了禁止這個 Linux 專有行為,但仍想使用公平隊列,那么只需在連接池類加載之前,將 org.apache.tomcat.jdbc.pool.FairBlockingQueue.ignoreOS=true 添加到系統屬性上。

abandonWhenPercentageFull

整型值。除非使用中連接的數目超過 abandonWhenPercentageFull 中定義的百分比,否則不會關閉并報告已廢棄的連接(因為超時)。取值范圍為 0-100。默認值為 0,意味著只要達到 removeAbandonedTimeout,就應關閉連接。

maxAge

長整型值。連接保持時間(以毫秒計)。當連接要返回池中時,連接池會檢查是否達到 now - time-when-connected > maxAge 的條件,如果條件達成,則關閉該連接,不再將其返回池中。默認值為 0,意味著連接將保持開放狀態,在將連接返回池中時,不會執行任何年齡檢查。

useEquals

布爾值。如果想讓 ProxyConnection 類使用 String.equals,則將該值設為 true;若想在對比方法名稱時使用 ==,則應將其設為 false。該屬性不能用于任何已添加的攔截器中,因為那些攔截器都是分別配置的。默認值為 true。

suspectTimeout

整型值。超時時間(以秒計)。默認值為 0。
類似于 removeAbandonedTimeout,但不會把連接當做廢棄連接從而有可能關閉連接。如果 logAbandoned 設為 true,它只會記錄下警告。如果該值小于或等于 0,則不會執行任何懷疑式檢查。如果超時值大于 0,而連接還沒有被廢棄,或者廢棄檢查被禁用時,才會執行懷疑式檢查。如果某個連接被懷疑到,則記錄下 WARN 信息并發送一個 JMX 通知。

rollbackOnReturn

布爾值。如果 autoCommit==false,那么當連接返回池中時,池會在連接上調用回滾方法,從而終止事務。默認值為 false。

commitOnReturn

布爾值。如果 autoCommit==false,那么當連接返回池中時,池會在連接上調用提交方法,從而完成事務;如果 rollbackOnReturn==true,則忽略該屬性。默認值為 false。

alternateUsernameAllowed

布爾值。出于性能考慮,JDBC 連接池默認會忽略 DataSource.getConnection(username,password)調用,只返回之前池化的具有全局配置屬性 username 和 password的連接。

但經過配置,連接池還可以允許使用不同的憑證來請求每一個連接。為了啟用這項在DataSource.getConnection(username,password)調用中描述的功能,只需將 alternateUsernameAllowed 設為 true。
如果你請求一個連接,憑證為 user 1/password 1,而連接之前使用的是 user 2/password 2 憑證,那么連接將被關閉,重新利用請求的憑證來開啟。按照這種方式,池的容量始終以全局級別管理,而不是限于模式(schema)級別。
默認值為 false。
該屬性作為一個改進方案,被添加到了 bug 50025 中。

dataSource

(javax.sql.DataSource)將數據源注入連接池,從而使池利用數據源來獲取連接,而不是利用 java.sql.Driver 接口來建立連接。它非常適于使用數據源(而非連接字符串)來池化 XA 連接或者已建立的連接時。默認值為 null。

dataSourceJNDI

字符串。在 JNDI 中查找的數據源的 JNDI 名稱,隨后將用于建立數據庫連接。參看 datasource 屬性的介紹。默認值為 null。

useDisposableConnectionFacade

布爾值。如果希望在連接上放上一個門面對象,從而使連接在關閉后無法重用,則要將值設為 true。這能防止線程繼續引用一個已被關閉的連接,并繼續在連接上查詢。默認值為 true。

logValidationErrors

布爾值。設為 true 時,能將驗證階段的錯誤記錄到日志文件中,錯誤會被記錄為 SEVERE。考慮到了向后兼容性,默認值為 false。

propagateInterruptState

布爾值。傳播已中斷的線程(還沒有清除中斷狀態)的中斷狀態。考慮到了向后兼容性,默認值為 false。

ignoreExceptionOnPreLoad

布爾值。在初始化池時,是否忽略連接創建錯誤。取值為 true時表示忽略;設為 false 時,拋出異常,從而宣告池初始化失敗。默認值為 false。

全部教程
主站蜘蛛池模板: 国产手机精品一区二区 | 特黄十八岁大片 | 天天艹| 国产在线一区二区 | 久久国产精品永久免费网站 | 99久久精品免费看国产情侣 | 国产视频2021 | 免费观看成人www精品视频在线 | 成人性视频免费网站 | 在线成人a毛片免费播放 | 在线免费h| 可以免费观看一级毛片黄a 可以直接看的毛片 | 狠狠综合欧美综合欧美色 | www.射射射 | 国产精品视频999 | 国产精品99久久久久久www | 欧美巨大xxxx做受孕妇视频 | 日韩天天摸天天澡天天爽视频 | 久久爱伊人一区二区三区小说 | 久国产精品视频 | 久热这里有精品 | a级毛片毛片免费观看久潮 a级毛片免费 | 久久9966e这里只有精品 | 欧美一区二区在线播放 | 国产91精品一区二区视色 | 亚洲视频日韩 | 色综合久久天天影视网 | 成年男女免费视频观看性 | 亚洲精品久久久久久久久久久网站 | 国产亚洲欧美在线观看的 | 黄色a毛片| 午夜国产福利在线 | 亚洲国产天堂久久九九九 | 网红福利在线 | 中文字幕亚洲一区 | 久久精品久久久 | 国产日韩不卡免费精品视频 | 久久久视频在线 | 亚欧毛片基地国产毛片基地 | 久久这里只有精品国产 | 91精品国产露脸在线 |