使用Apache Shiro进行身份认证-proxool配置

在用数据库做数据源认证时,Apache Shiro的官方例子是用com.mysql.jdbc.jdbc2.optional.MysqlDataSource类连接数据库。

此为MySQL自带的数据源。如果想使用proxool来替换此数据源也非常简单。(proxool支持自动重连接)

proxool的配置方法和一般的WEB应用类似,先在web.xml定义好proxool连接池,指定proxool.xml文件路径。

<servlet>
    <servlet-name>proxoolServletConfigurator</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.xml中定义配置信息。

<proxool>
      <alias>Pool_dbname</alias>
      <driver-url>jdbc:mysql://localhost:3306/dbname</driver-url>
      <driver-class>com.mysql.jdbc.Driver</driver-class>
      <driver-properties>
      <property name="user" value="yourname"/>
      <property name="password" value="yourpass"/>
      </driver-properties>
      <house-keeping-sleep-time>60000</house-keeping-sleep-time>
      <maximum-connection-count>20</maximum-connection-count> 
      <minimum-connection-count>2</minimum-connection-count>
      <prototype-count>0</prototype-count>
      <simultaneous-build-throttle>20</simultaneous-build-throttle>
      <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
      <statistics>15s,10m,1d</statistics>
      <statistics-log-level>INFO</statistics-log-level>
</proxool>


在Shiro.ini中配置数据源

[main]
ds = org.logicalcobwebs.proxool.ProxoolDataSource
ds.alias = Pool_dbname

注意:org.logicalcobwebs.proxool.ProxoolDataSource类只在Proxool 0.9版本才有,因此使用时最好下载最新版本proxool-0.9.1.zip



你可能感兴趣的:(apache,数据库,mysql,servlet,shiro,statistics)