大战熟女丰满人妻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連接池代碼范例

其他 JDBC 用途的 Tomcat 配置范例可以參考 相關的 Tomcat 文檔

簡單的 Java

下面這個簡單的范例展示了如何創建并使用數據源:

 import java.sql.Connection;
  import java.sql.ResultSet;
  import java.sql.Statement;
  import org.apache.tomcat.jdbc.pool.DataSource;
  import org.apache.tomcat.jdbc.pool.PoolProperties;

  public class SimplePOJOExample {

      public static void main(String[] args) throws Exception {
          PoolProperties p = new PoolProperties();
          p.setUrl("jdbc:mysql://localhost:3306/mysql");
          p.setDriverClassName("com.mysql.jdbc.Driver");
          p.setUsername("root");
          p.setPassword("password");
          p.setJmxEnabled(true);
          p.setTestWhileIdle(false);
          p.setTestOnBorrow(true);
          p.setValidationQuery("SELECT 1");
          p.setTestOnReturn(false);
          p.setValidationInterval(30000);
          p.setTimeBetweenEvictionRunsMillis(30000);
          p.setMaxActive(100);
          p.setInitialSize(10);
          p.setMaxWait(10000);
          p.setRemoveAbandonedTimeout(60);
          p.setMinEvictableIdleTimeMillis(30000);
          p.setMinIdle(10);
          p.setLogAbandoned(true);
          p.setRemoveAbandoned(true);
          p.setJdbcInterceptors(
            "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+
            "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");
          DataSource datasource = new DataSource();
          datasource.setPoolProperties(p);

          Connection con = null;
          try {
            con = datasource.getConnection();
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery("select * from user");
            int cnt = 1;
            while (rs.next()) {
                System.out.println((cnt++)+". Host:" +rs.getString("Host")+
                  " User:"+rs.getString("User")+" Password:"+rs.getString("Password"));
            }
            rs.close();
            st.close();
          } finally {
            if (con!=null) try {con.close();}catch (Exception ignore) {}
          }
      }

  }

作為資源使用

下例展示了如何為 JNDI 查找配置資源。  

異步連接獲取

Tomcat JDBC 連接池支持異步連接獲取,無需為池庫添加任何額外線程。這是通過在數據源上添加一個方法 Future getConnectionAsync() 來實現的。為了使用異步獲取,必須滿足兩個條件:

  1. 必須把 failQueue 屬性設為 true。
  2. 必須把數據源轉換為 org.apache.tomcat.jdbc.pool.DataSource。

下例就使用了異步獲取功能:

 Connection con = null;
  try {
    Future future = datasource.getConnectionAsync();
    while (!future.isDone()) {
      System.out.println("Connection is not yet available. Do some background work");
      try {
        Thread.sleep(100); //simulate work
      }catch (InterruptedException x) {
        Thread.currentThread().interrupt();
      }
    }
    con = future.get(); //should return instantly
    Statement st = con.createStatement();
    ResultSet rs = st.executeQuery("select * from user");

 

全部教程
主站蜘蛛池模板: 久久天天躁狠狠躁夜夜呲 | 国产成人精品高清不卡在线 | 精品免费视在线观看 | 精品国产一区二区三区香蕉沈先生 | 精品久久久久久久一区二区手机版 | 无遮挡一级毛片性视频不卡 | 欧美一区二区三区婷婷月色 | 久久国产精品二国产精品 | 四虎免费播放观看在线视频 | 一级毛片免费播放 | 毛片随便看| 一级片视频网站 | 男人资源网站 | 公主恋人在线观看 | 99热国产这里只有精品9九 | 人人澡人人干 | 一级毛片在线观看视频 | 五月天婷婷免费观看视频在线 | 在线播放真实国产乱子伦 | 国产香蕉在线视频一级毛片 | 四虎永久免费网站入口2020 | 国产高清精品久久久久久久 | 日本一级毛片一级裸片 | 成人在线观看不卡 | 久久久人体 | 好爽毛片一区二区三区四区 | 97久久国语露脸精品对白 | 另类重口性色老妇 | 国产精品久久福利新婚之夜 | 国产综合另类小说色区色噜噜 | 国内精品视频一区二区三区八戒 | 911精品国产91久久久久 | 久久艹国产 | 国产视频福利在线 | 中文字幕久久综合 | 亚洲精品中文字幕区 | 欧美一级片 在线播放 | 国产精品日韩一区二区三区 | 分分操这里只有精品 | 国产精品成人久久久久 | 国产视频在线播放 |