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

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

JDBC連接池代碼范例

其他 JDBC 用途的 Tomcat 配置范例可以參考 相關(guān)的 Tomcat 文檔。

簡單的 Java

下面這個簡單的范例展示了如何創(chuàng)建并使用數(shù)據(jù)源:

 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 連接池支持異步連接獲取,無需為池庫添加任何額外線程。這是通過在數(shù)據(jù)源上添加一個方法 Future getConnectionAsync() 來實現(xiàn)的。為了使用異步獲取,必須滿足兩個條件:

  1. 必須把 failQueue 屬性設(shè)為 true。
  2. 必須把數(shù)據(jù)源轉(zhuǎn)換為 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");

 

全部教程
主站蜘蛛池模板: 97玖玖| 亚洲男人的天堂久久香蕉网 | 在线看欧美三级中文经典 | 免费特黄一级欧美大片 | 亚洲综合插| 久久免费视频6 | 性激烈欧美三级在线播放 | 91精选国产 | 亚洲videos | 色中色污 | 国产免费资源 | 亚洲va国产va欧美va综合 | 国产日韩精品一区在线不卡 | 亚洲精品综合一二三区在线 | 久草在线观看视频 | 99看片| 欧美成人免费公开播放 | 一级片视频免费看 | 99热在线只有精品 | 欧美第一视频 | 久久精品在 | 二级片在线 | 天天爱夜夜做 | a毛片免费全部在线播放毛 a毛片免费在线观看 | 欧美一级精品 | 国产亚洲欧美在在线人成 | 欧美激情亚洲激情 | 欧美日韩一级片在线观看 | 欧美日韩理论 | 一七六九1769视频免费观看 | 91尤物在线播放 | 97在线视频精品 | 欧美亚洲黄色 | 久久成人在线观看 | 国产精品久久免费观看 | 欧美一区二区三区视频在线 | 情欲综合网| 9久9久女女热精品视频免费观看 | 狠狠色噜噜噜噜狠狠狠狠狠狠奇米 | 日韩欧美在线播放视频 | 亚洲两性 |