Proxool-0.9.1構成
プロジェクト内のデータベースの接続については、一般的にデータソース方式が採用されています.どうせ今回は自分で実現したので、他の要求はなく、ネット上で良いデータソースの実現を探しました.いくつかの記事を見て、Proxoolの方が良いと言われているので、それを使ってデータソースを実現しましょう.次のように実現します.
1,プロジェクト中のWEB-INFディレクトリの下にproxoolを作成する.xmlファイル(他のディレクトリでもいいし、見つけられるだけでいい)、内容は:
2,プロジェクトでweb.xmlに構成されたデータソースを追加し、web-appの下に次の内容を追加します.
管理監視ツールでは、使用しない場合は構成しないことができます.
3、テスト:
正常に使用できます.テストでは接続をアクティブに閉じません.監視ツールでは、アクティブな接続時間を超えると自動的に破棄されますが、使用中に接続を解放する必要があります.接続の最大数は限られています.
tomcatバージョン:apache-tomcat-6.0.18
JDKバージョン:jdk-6 u 11-windows-i 586-p
NetBeansバージョン:netbeans-6.5-ml-windows
proxoolバージョン:proxool-0.9.1
初めてデータ・ソースを使用したが、データ・ソースのメリットはまだ理解されていない.それらの圧力テストなどはありません.
勉強を続けて・・・
1,プロジェクト中のWEB-INFディレクトリの下にproxoolを作成する.xmlファイル(他のディレクトリでもいいし、見つけられるだけでいい)、内容は:
<?xml version="1.0" encoding="UTF-8"?>
<proxool>
<!-- , proxool.15DayWeb -->
<alias>15DayWeb</alias>
<!-- -->
<driver-url>jdbc:mysql://localhost:3306/15dayweb</driver-url>
<!-- -->
<driver-class>com.mysql.jdbc.Driver</driver-class>
<!-- -->
<driver-properties>
<property name="user" value="root" />
<property name="password" value="root" />
</driver-properties>
<!-- , 0 , -->
<minimum-connection-count>2</minimum-connection-count>
<!-- ,
, CPU -->
<maximum-connection-count>20</maximum-connection-count>
<!-- -->
<simultaneous-build-throttle>10</simultaneous-build-throttle>
<!-- -->
<prototype-count>2</prototype-count>
<!-- 5 : -->
<maximum-active-time>120</maximum-active-time>
<!-- 4 : -->
<maximum-connection-lifetime>600</maximum-connection-lifetime>
</proxool>
2,プロジェクトでweb.xmlに構成されたデータソースを追加し、web-appの下に次の内容を追加します.
<!-- -->
<servlet>
<servlet-name>ServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- proxool , 。 -->
<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
管理監視ツールでは、使用しない場合は構成しないことができます.
3、テスト:
//
public void getConnection() throws Exception {
if (conn == null) {
//proxool
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
// DBPool proxool.xml
conn = DriverManager.getConnection("proxool.15DayWeb");
}
}
// ,
public ResultSet query(String sql) throws Exception {
//
getConnection();
// Statement
Statement stmt = conn.createStatement();
// sql
sql = "select * from about_team_table";
return stmt.executeQuery(sql);
}
// about_team_table
public static void main(String[] args) throws Exception {
DbDao dd = new DbDao();
ResultSet rs = dd.query("");
while (rs.next()) {
System.out.println(rs.getInt("id"));
System.out.println(rs.getString("name"));
System.out.println(rs.getString(3));
System.out.println(rs.getString(4));
System.out.println(rs.getBinaryStream("photo"));
}
}
正常に使用できます.テストでは接続をアクティブに閉じません.監視ツールでは、アクティブな接続時間を超えると自動的に破棄されますが、使用中に接続を解放する必要があります.接続の最大数は限られています.
tomcatバージョン:apache-tomcat-6.0.18
JDKバージョン:jdk-6 u 11-windows-i 586-p
NetBeansバージョン:netbeans-6.5-ml-windows
proxoolバージョン:proxool-0.9.1
初めてデータ・ソースを使用したが、データ・ソースのメリットはまだ理解されていない.それらの圧力テストなどはありません.
勉強を続けて・・・