ssh使用tomcat中配置好的c3p0数据源
来源:互联网 发布:大数据市场分析 编辑:程序博客网 时间:2024/05/01 19:58
在tomcat的conf\Catalina\localhost\路径下建立项目对应的xml文件
具体内容如下:
<?xml version="1.0" encoding="UTF-8"?><Context path="/Village" docBase="D:\Workspaces\MyEclipse 10\webproject\Village\WebRoot" reloadable= "true" privileged="true"><Resource name="jdbc/village" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource" factory="org.apache.naming.factory.BeanFactory" driverClass="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost:3306/village" user="root" password="0510" minPoolSize="10" maxPoolSize="200" maxIdleTime="1000" idleConnectionTestPeriod="10"initialPoolSize="5" /></Context>
Spring配置文件中加入引入数据源的配置:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"><value>java:comp/env/jdbc/village</value></property> </bean>
在代码配置上只需做如上配置即可。
需要注意的是使用c3p0数据源需要引入相应的jar包:c3p0-0.9.2.1.jar 和 mchange-commons-java-0.2.3.4.jar。
在实际项目中,我按照如上配置好后,程序开始可以正常运行,但是过一段时间后便会不停的报如下错误:
Illegal access: this web application instance has been stopped already. Could not load com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.java.lang.IllegalStateException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:980) at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1406) at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1378) at com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(BasicResourcePool.java:1462) at com.mchange.v2.resourcepool.BasicResourcePool.access$1900(BasicResourcePool.java:32) at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1937) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source)Exception in thread "Timer-1" java.lang.NoClassDefFoundError: com/mchange/v2/resourcepool/BasicResourcePool$1DestroyResourceTask at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:980) at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1406) at com.mchange.v2.resourcepool.BasicResourcePool.removeResource(BasicResourcePool.java:1378) at com.mchange.v2.resourcepool.BasicResourcePool.cullExpired(BasicResourcePool.java:1462) at com.mchange.v2.resourcepool.BasicResourcePool.access$1900(BasicResourcePool.java:32) at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1937) at java.util.TimerThread.mainLoop(Unknown Source) at java.util.TimerThread.run(Unknown Source)Caused by: java.lang.ClassNotFoundException: com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) ... 8 more
原因是项目使用了我之前打包好的SSH集合jar包,其中包含了一个com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar 包,jar包产生了冲突,删掉之后程序目前为止都还正常。
PS:后来发现还是会经常报类似的错误。某一天,我灵光一闪突然意识到这好像是因为我在开发过程中为了方便开发,将项目的自动重新装载设置为了true,如下:
<Context path="/Village" docBase="D:\Workspaces\MyEclipse 10\webproject\Village\WebRoot" reloadable= "true" privileged="true">
经过测试发现确实如此,一个正常开启的项目并不会报这个错误。
<pre name="code" class="html">
</pre>
<Context path="/Village" docBase="D:\Workspaces\MyEclipse 10\webproject\Village\WebRoot" reloadable= "true" privileged="true">
<Context path="/Village" docBase="D:\Workspaces\MyEclipse 10\webproject\Village\WebRoot" reloadable= "true" privileged="true">
0 0
- ssh使用tomcat中配置好的c3p0数据源
- Tomcat配置 c3p0数据源,Spring项目使用
- Tomcat配置c3p0数据源
- SpringJDBC中使用c3p0配置数据源
- C3P0数据源和Tomcat jdbc数据源的基本配置
- tomcat中配置使用c3p0
- 在ssh项目中的中配置数据源c3p0
- Spring中C3P0数据源的配置
- Tomcat中数据源的配置和使用
- Tomcat 中数据源的配置和使用
- c3p0数据源的配置
- ssh 中使用c3p0 的连接池配置
- ssh 中使用c3p0 的连接池配置
- ssh 中使用c3p0 的连接池配置
- 数据源c3p0的使用
- spring中配置c3p0数据源
- spring 使用 c3p0 配置数据源
- tomcat中数据源的配置
- SQL1159 Initialization error with DB2 .NET Data Provider, reason code 2;reason code 10
- MSSQL 的merge关键字实现两个表的同步
- HDU 1425 Sort
- 浅析虚拟内存管理
- HTML5引擎Construct2技术剖析(六)
- ssh使用tomcat中配置好的c3p0数据源
- 节约内存:Instagram的Redis实践
- 使用bundle插件管理器添加vim插件
- strtok的基本用法
- 《计算机时代》2015年第7期刊登出《基于数据仓库星形模式的广东省高速公路一张网资金结算情况分析系统》
- 几种常用的UIViewContentMode
- Leet Code -- Unique BST
- 归并之将两个有序数组合并(已测试)
- K-Mean聚类算法+C语言代码