SSH2+proxool出现Nosuitabledriverfoundforproxool.mysqlP
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SSH2+proxool出现Nosuitabledriverfoundforproxool.mysqlP,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3112字,纯文字阅读大概需要5分钟。
内容图文
![SSH2+proxool出现Nosuitabledriverfoundforproxool.mysqlP](/upload/InfoBanner/zyjiaocheng/532/22429c4c11b248a495d4da855a4fe1b1.jpg)
首先我们要明确使用的是SSH2框架,然而Struts2是基于filter实现的那么在启动proxool的时候就不能够在用servlet来启动了! 于是我们就想到在初始化web容器的时候怎么让他一开始就加载呢? 我们查看tomcat的启动信息: Starting Servlet Engine: Apache Tomcat
首先我们要明确使用的是SSH2框架,然而Struts2是基于filter实现的那么在启动proxool的时候就不能够在用servlet来启动了!
于是我们就想到在初始化web容器的时候怎么让他一开始就加载呢?
我们查看tomcat的启动信息:
Starting Servlet Engine: Apache Tomcat/6.0.13
2012-6-10 15:31:41 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2012-6-10 15:31:41 org.springframework.web.context.ContextLoader initWebApplicationContext
信息: Root WebApplicationContext: initialization started
最先启动的是spring容器,那么这样我们就可以将proxool的配置写在spring的配置文件中让它最先加载
如下:
这样只需要在sessionFactory加上dataSource的引用即可如下:
这样就不在需要配置proxool的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/classes/proxool.xml</param-value> </init-param> <load-on-startup>1</load-on-startup>
以上的配置就不在需要在web.xml中进行配置。
而在hibernate.cfg.xml中也不在需要proxool的配置只是配置一些hibernate的信息例如:
true org.hibernate.dialect.MySQLDialect 和一些实体类的映射文件:以上就将SSH2+PROXOOL的环境搭建好了。但是在搭建好之后如果我们配置又会提示如下错误:Invalid property 'houseKeepingSleepTime' of bean class [org.logicalcobwebs.proxool.ProxoolDataSource]: Bean property 'houseKeepingSleepTime' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?大概意思是说'houseKeepingSleepTime'属性是不能够写的或者没有合适的setter方法。在他的参数setter和getter的返回结果类型不一致所导致的。这个我想也正是他的bug吧。那么具体解决如下:在proxool-0.9.1.jar(我用的proxool架包)中找到org.logicalcobwebs.proxool.ProxoolDataSource将其源码修改如下:源码是:1./** 2. * @see ConnectionPoolDefinitionIF#getHouseKeepingSleepTime 3. */ 4. public long getHouseKeepingSleepTime() { 5. return houseKeepingSleepTime; 6. } 7. 8. /** 9. * @see ConnectionPoolDefinitionIF#getHouseKeepingSleepTime 10. */ 11. public void setHouseKeepingSleepTime(int houseKeepingSleepTime) { 12. this.houseKeepingSleepTime = houseKeepingSleepTime; 13. }修改为:
- /**
- * @see ConnectionPoolDefinitionIF#getHouseKeepingSleepTime
- */
- public long getHouseKeepingSleepTime() {
- return houseKeepingSleepTime;
- }
- /**
- * @see ConnectionPoolDefinitionIF#getHouseKeepingSleepTime
- *此处将int类型改为long类型
- */
- public void setHouseKeepingSleepTime(long houseKeepingSleepTime) {
- this.houseKeepingSleepTime = houseKeepingSleepTime;
- }
这样所有问题都解决!以上所有步骤都是通过本人在网上查资料,自己手动配置而成。验证通过!
内容总结
以上是互联网集市为您收集整理的SSH2+proxool出现Nosuitabledriverfoundforproxool.mysqlP全部内容,希望文章能够帮你解决SSH2+proxool出现Nosuitabledriverfoundforproxool.mysqlP所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。