黑保安服装:proxool中的maximum

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 04:25:26

JAVA项目中使用proxool连接池时,有时候会出现这样的警告:WARN [ABC] proxool.default (ABC.java:149) - #0001 was  active for 324234 milliseconds and has been removed automaticaly. The  Thread responsible was named ‘Thread-1′, but the last SQL it performed  is unknown because the trace property is not enabled.

解决方法是:

默认的查询时间为5分钟,如果一个SQL查询5分钟内还没有返回结果,那么将会出现上面的警告,这是由默认设置:jdbc-0.proxool.maximum-active-time=300000 所决定的,见:http://proxool.sourceforge.net/properties.html

及:http://proxool.sourceforge.net/api-dev/org/logicalcobwebs/proxool/configuration/PropertyConfigurator.html

因此当一些查询非常耗时的情况下,考虑加大这个参数的值,如果使用配置文件的话,那么就在proxool的配置文件中加上proxool.maximum-active-time=900000(15分钟,单位是毫秒!)或者你所想要的值。如果是用Spring注入那么要加上的是maximumActiveTime见:http://proxool.sourceforge.net/api-dev/org/logicalcobwebs/proxool/ProxoolDataSource.html一个Spring配合proxool的例子如下:使用jdbc.properties作为JDBC连接配置文件。

Java 代码复制内容到剪贴板
        
  1.   
  2.     
  3.       
  4.     
  5.           
  6.     
  7.             classpath:jdbc.properties  
  8.     
  9.           
  10.     
  11.       
  12.     
  13.   
  14.     
  15.     
  16.     class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="reset">  
  17.     
  18.     ${jdbc.driver}  
  19.     
  20.     ${jdbc.url}  
  21.     
  22.     ${jdbc.username}  
  23.     
  24.     ${jdbc.password}  
  25.     
  26.     vnet  
  27.     
  28.     select sysdate from DUAL  
  29.     
  30.     false  
  31.     
  32.     50  
  33.     
  34.     5  
  35.     
  36.    900000  
  37.     
  38.     user=${jdbc.username},password=${jdbc.password}  
  39.     
  40.