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連接池高級用法

1. JDBC 攔截器

要想看看攔截器使用方法的具體范例,可以看看 org.apache.tomcat.jdbc.pool.interceptor.ConnectionState。這個簡單的攔截器緩存了三個屬性:autoCommit、readOnly、transactionIsolation,為的是避免系統與數據庫之間無用的往返。

當需求增加時,姜維連接池核心增加更多的攔截器。歡迎貢獻你的才智!

攔截器當然并不局限于 java.sql.Connection,當然也可以對方法調用的任何結果進行包裝。你可以構建查詢性能分析器,以便當查詢運行時間超過預期時間時提供 JMX 通知。

2. 配置 JDBC 攔截器

JDBC 攔截器是通過 jdbcInterceptor 屬性來配置的。該屬性值包含一列由分號分隔的類名。如果這些類名非完全限定,就會在它們的前面加上 org.apache.tomcat.jdbc.pool.interceptor. 前綴。

范例:
jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState; org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
它實際上等同于:
jdbcInterceptors="ConnectionState;StatementFinalizer"

攔截器也同樣有屬性。攔截器的屬性指定在類名后的括號里,如果設置多個屬性,則用逗號分隔開。

范例:

jdbcInterceptors="ConnectionState;StatementFinalizer(useEquals=true)"

系統會自動忽略屬性名稱、屬性值以及類名前后多余的空格字符。

org.apache.tomcat.jdbc.pool.JdbcInterceptor

所有攔截器的抽象基類,無法實例化。

屬性

描述

useEquals

(布爾值)如果希望 ProxyConnection 類使用 String.equals,則設為 true;當希望在對比方法名時使用 ==,則設為 false。默認為 true。

org.apache.tomcat.jdbc.pool.interceptor.ConnectionState

它能為下列屬性緩存連接:autoCommit、readOnly、transactionIsolation 及 catalog。這是一種性能增強功能,當利用已設定的值來調用 getter 與 setter 時,它能夠避免往返數據庫。

org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer

跟蹤所有使用 createStatement、prepareStatement 或 prepareCall 的語句,當連接返回池后,關閉這些語句。

屬性

描述

trace

(以字符串形式表示的布爾值)對未關閉語句進行跟蹤。當啟用跟蹤且連接被關閉時,如果相關語句沒有關閉,則攔截器會記錄所有的堆棧跟蹤。默認值為 false。

org.apache.tomcat.jdbc.pool.interceptor.StatementCache

緩存連接中的 PreparedStatement 或 CallableStatement 實例。

它會針對每個連接對這些語句進行緩存,然后計算池中所有連接的整體緩存數,如果緩存數超過了限制 max,就不再對隨后的語句進行緩存,而是直接關閉它們。

屬性

描述

prepared

(以字符串形式表示的布爾值)對使用 prepareStatement 調用創建的 PreparedStatement 實例進行緩存。默認為 true

callable

(以字符串形式表示的布爾值)對使用 prepareCall 調用創建的 CallableStatement 實例進行緩存。默認為 false

max

(以字符串形式表示的整型值)連接池中的緩存語句的數量限制。默認為 50

org.apache.tomcat.jdbc.pool.interceptor.StatementDecoratorInterceptor

請參看 48392。攔截器會包裝語句和結果集,從而防止對使用了 ResultSet.getStatement().getConnection() 和 Statement.getConnection() 方法的實際連接進行訪問。

org.apache.tomcat.jdbc.pool.interceptor.QueryTimeoutInterceptor

當新語句創建時,自動調用 java.sql.Statement.setQueryTimeout(seconds)。池本身并不會讓查詢超時,完全是依靠 JDBC 驅動來強制查詢超時。

屬性

描述

queryTimeout

(以字符串形式表示的整型值)查詢超時的毫秒數。默認為 1000 毫秒。

org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReport

當查詢超過失敗容差值時,記錄查詢性能并發布日志項目。使用的日志級別為 WARN。

屬性

描述

threshold

(以字符串形式表示的整型值)查詢應超時多少毫秒才發布日志警告。默認為 1000 毫秒

maxQueries

(以字符串形式表示的整型值)為保留內存空間,所能記錄的最大查詢數量。默認為 1000

logSlow

(以字符串形式表示的布爾值)如果想記錄較慢的查詢,設為 true。默認為 true

logFailed

(以字符串形式表示的布爾值)如果想記錄失敗查詢,設為 true。默認為 true

org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReportJmx

這是對 SlowQueryReport 的擴展,除了發布日志項目外,它還發布 JMX 通知,以便監視工具作出相關反應。該類從其父類繼承了所有屬性。它使用了 Tomcat 的 JMX 引擎,所以在 Tomcat 容器外部是無效的。使用該類時,默認情況下,是通過 ConnectionPool MBean 來發送 JMX 通知。如果 notifyPool=false,則 SlowQueryReportJmx 也可以注冊一個 MBean。

屬性

描述

notifyPool

(以字符串形式表示的布爾值)如果希望用 SlowQueryReportJmx MBean 發送 JMX 通知,則設為 false。默認為 true

objectName

字符串。定義一個有效的 javax.management.ObjectName 字符串,用于將這一對象注冊到平臺所用的 mbean 服務器上。默認值為 null??梢允褂?nbsp;tomcat.jdbc:type=org.apache.tomcat.jdbc.pool.interceptor.SlowQueryReportJmx,name=the-name-of-the-pool 來注冊對象。

org.apache.tomcat.jdbc.pool.interceptor.ResetAbandonedTimer

當連接簽出池中后,廢棄計時器即開始計時。這意味著如果超時為 30 秒,而你使用連接運行了 10 個 10秒的查詢,那么它就會被標為廢棄,并可能依靠 abandonWhenPercentageFull 屬性重新聲明。每次成功地在連接上執行操作或執行查詢時,該攔截器就會重設簽出計時器。

全部教程
天堂资源网,色综合天天综合给合国产,午夜无码伦费影视在线观看,亚洲网红自拍偷拍 男人和女人做人爱视频| 一二三在线观看福利视频| 熟妇的荡欲免费a片| 坏老人全本免费阅读| 全程粗语对白视videos| 好看的动漫| 女人自熨过程的图片| 苍井空电影在线观看| 五月丁香六月激情综合色| av在线网站无码不卡的| 一级a做爰片大全| 韩国R级电影| 网友自拍露脸国语对白| 色婷婷五月综合激情中文字幕| 高清无码午夜福利在线观看| 新91国产在线精品亚洲| 国产超碰人人模人人爽人人喊| 久久爱视频这里只有精品100| 18禁止进入拍拍拍高潮网站| 天堂网av蜜汁tv| 玩弄邻居少妇高潮大叫| japanese日本人妻共享| 强睡年轻的女老板3| 在线av观看| 唔.......我是荡货| 免费黄色视频| 人人超碰人人爱超碰国产| 办公室扒开胸罩吸奶头| 美女黄网站人色视频免费国产| 纵情秘史| 亲亲的时候为什么会哼唧| http://www.djilio.com