方式一:
在Spring的"applicationContext.xml"中的dataSource bean定义——
第一种方式需要把用户名和密码写在连接串里面,
ProxoolDataSource类提供的user,password属性似乎没有什么用。
无论提供什么,它都会以空用户名、密码去连接数据库。
这可能是Proxool RC0.93的一个bug。
不过配置中的user,password两个属性还必须设置,否则hibernate会报空指针错误。
方式二:
在Spring的"applicationContext.xml"中的dataSource bean定义——
第二种方式需要预先在"web.xml"先配置好Proxool连接池,配置如下:
注意,第二种方式下Spring的上下文加载如果想使用listener方式(Struts2要求),
则与连接池有关的Bean全得延迟初始化。因为listener比servlet优先初始化,
如果相关Bean不是lazy-init的话,则启动服务器时会出现Bean找不到连接定义的异常。
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
其中proxool的配置文件可以采用xmlFile"proxool.xml"或者propertyFile"proxool.properties"
"proxool.xml"格式如下:
"proxool.properties"格式如下:
-----------------------------------------------------------
个人比较倾向于第二种配置方式,
一来可以避免在Spring的"applicationContext.xml"中写一大堆参数,
尤其是避免了driverUrl中带用户名密码(这会显示在proxool包中带的
org.logicalcobwebs.proxool.admin.servlet.AdminServlet输出的页面中)
二来proxool连接池可以在tomcat启动时就初始化好,可以提高第一次访问web时的连接速度。