首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java 项目连接数据库有关问题

2013-03-10 
java 项目连接数据库问题我们的项目是spring + struts +mysql ,项目的增删改查用的是springjdbctemplate现

java 项目连接数据库问题
我们的项目是spring + struts +mysql ,项目的增删改查用的是springjdbctemplate
现在我们内部测试 现在的问题是 每天早上都会出现数据库连接不上,多试几下就可以连接上了,
就可以正常使用了,在网上查了,说什么是mysql 8个失效什么的。数据连接池也加了。现在不知怎么解决
报以下错误

** BEGIN NESTED EXCEPTION **

java.io.EOFException

STACKTRACE:

java.io.EOFException
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1956)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2368)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2867)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3178)
        at com.mysql.jdbc.Statement.executeQuery(Statement.java:1203)
        at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208)
        at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:443)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:466)
        at com.chinatsp.system.dao.impl.LoginDaoImpl.validUser(LoginDaoImpl.java:39)
        at com.chinatsp.system.service.impl.LoginServiceImpl.validUser(LoginServiceImpl.java:65)
        at sun.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
        at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
        at $Proxy9.validUser(Unknown Source)


        at com.chinatsp.system.action.LoginAction.login(LoginAction.java:75)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:453)
        at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:292)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:255)
        at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
        at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)


spring的配置文件如下
?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:aop="http://www.springframework.org/schema/aop" 
        xmlns:tx="http://www.springframework.org/schema/tx" 
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
        http://www.springframework.org/schema/aop 
        http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

<bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">      
              <property name="location" value="classpath:jdbc.properties"/>      
   </bean>      
  <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close">      
    <property name="driverClassName" value="${jdbc.driverClassName}" />      
    <property name="url" value="${jdbc.url}" />      
    <property name="username" value="${jdbc.username}" />      


    <property name="password" value="${jdbc.password}" />
    <property name="maxActive" value="500"/>  
    <property name="maxIdle" value="20"/> 
 <property name="maxWait" value="120000"/>
 
 </bean>  

   <!--       事务模板   
<bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate">  
         <property name="transactionManager">  
                  <ref local="transactionManager"/>  
   </property> 
   
</bean>
 -->
   <!--  事务模板-->
 <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource" />
 </bean>
 
<!-- 配置事务 管理器 -->
<tx:advice id="txAdvice"  transaction-manager="transactionManager">
<tx:attributes>
    <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="create*" propagation="REQUIRED" />
            <tx:method name="insert*" propagation="REQUIRED" />
            <tx:method name="write*" propagation="REQUIRED" />
            <tx:method name="save*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="merge*" propagation="REQUIRED" />
            <tx:method name="del*" propagation="REQUIRED" />
            <tx:method name="remove*" propagation="REQUIRED" />
            <tx:method name="put*" propagation="REQUIRED" />
            <tx:method name="use*" propagation="REQUIRED"/>
            <tx:method name="AddOrUpdate*" propagation="REQUIRED"/>
   <!-- <tx:method name="*" read-only="true"/>   -->
</tx:attributes>
</tx:advice>

   <!-- 配置哪些类的哪些方法使用事务 --> 
<aop:config>                                          
<aop:pointcut id="allServiceMethod" expression="execution(* com.chinatsp..service.*.*(..))"/>
 <aop:advisor advice-ref="txAdvice"  pointcut-ref="allServiceMethod"/>
        


    </aop:config>
</beans>


java 数据库 连接
[解决办法]
EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致异常。异常是tomcat本身的问题,将tomcat6/work/Catalina/localhost/yourProjectName/SESSIONS.ser删除试试,你确定是你数据库没连上?看看日志,

[解决办法]
引用:
我们的项目是spring + struts +mysql ,项目的增删改查用的是springjdbctemplate
现在我们内部测试 现在的问题是 每天早上都会出现数据库连接不上,多试几下就可以连接上了,
就可以正常使用了,在网上查了,说什么是mysql 8个失效什么的。数据连接池也加了。现在不知怎么解决
报以下错误
Java code?123456789101……


<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  destroy-method="close">      
    <property name="driverClassName" value="${jdbc.driverClassName}" />      
    <property name="url" value="${jdbc.url}" />      
    <property name="username" value="${jdbc.username}" />      
    <property name="password" value="${jdbc.password}" />
    <property name="maxActive" value="500"/>  
    <property name="maxIdle" value="20"/>         
     <property name="maxWait" value="120000"/>
 </bean>  


spring这个配置再加一个设置:
<property name="validationQuery" value="select user.id from user"></property>



[解决办法]
连接池堵塞造成的,在DataSource中增加两个属性,timeBetweenEvictionRunsMillis 和minEvictableIdleTimeMillis

热点排行