HTTP Status 500 – Internal Server Error
Type Exception Report
Message Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Root Cause
org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!
org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:245)
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:427)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:276)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
com.sun.proxy.$Proxy32.login(Unknown Source)
org.fkit.hrm.controller.UserController.login(UserController.java:43)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:111)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:806)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:729)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Solution:
无法从基础数据库获取连接!
可能错误原因有很多,我这个是因为jar包和数据库版本不一致导致连接不上,那就总结一下错误吧
1,驱动配置有误 (看看mysql版本,高版本的驱动不一样)
2,数据库连接地址有误 ur后面一般带上 ?useUnicode=true&characterEncoding=utf8(jar包版本不同,加的也不一样)
3,密码或帐号有误
4.检查db.properties 是否正确,可能build下面的 properties文件没有修改过来,由于IDE问题,需要手工进行clear,进行修改
检查:
1.检查网络
2.检查账号密码配置
3.检查数据库连接数
4.检查相关jar包,本次 javassist 由3.15.0-GA 升至 3.18.0GA 解决该问题。
MySql驱动包
mysql-connector-java-5.1.7-bin.jar
MyBatis的核心包和依赖包
mybatis-3.2.7.jar(核心包)
asm-3.3.1.jar(依赖包)
cglib-2.2.2.jar(依赖包)
commons-logging-1.1.1.jar(依赖包)
javassist-3.17.1-GA.jar(依赖包)
log4j-1.2.17.jar(依赖包)
log4j-api-2.0-rc1.jar(依赖包)
log4j-core-2.0-rc1.jar(依赖包)
slf4j-api-1.7.5.jar(依赖包)
slf4j-log4j12-1.7.5.jar(依赖包)
MyBatis和Spring的整合包
mybatis-spring-1.2.2.jar
Spring的包
spring-aop-3.2.0.RELEASE.jar
包含在应用中使用spring的aop特性时所需的类。
spring-aspects-3.2.0.RELEASE.jar
AspectJ是一个面向切面的框架,这个jar提供对AspectJ的支持,以便可以方便的集成面向切面编程
spring-beans-3.2.0.RELEASE.jar
springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。起支撑作用的。
spring-context-3.2.0.RELEASE.jar
为spring核心提供了大量扩展。可以找到使用spring applicationcontext特性时所需的全部类,jdni所需的全部类,ui方面的用来与模板(templating)引擎如 velocity、freemarker、jasperreports集成的类,以及校验validation方面的相关类,还有ejb,cache,format,jms等等。
spring-context-support-3.2.0.RELEASE.jar
spring-context 的扩展支持,用于 MVC 方面
spring-core-3.2.0.RELEASE.jar
spring的核心包,包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心。包括ASM,CGLIB以及相关的工具类
spring-expression-3.2.0.RELEASE.jar
spring表达式语言。
spring-jdbc-3.2.0.RELEASE.jar
spring对jdbc的简单封装
spring-orm-3.2.0.RELEASE.jar
包含spring对dao特性集进行了扩展,使其支持 ibatis、jdo、ojb、toplink,因为hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包。spring 整合第三方的 orm 映射支持,如 hibernate 、ibatis、jdo 以及spring的jpa的支持
spring-test-3.2.0.RELEASE.jar
spring-tx-3.2.0.RELEASE.jar
spring提供对事务的支持,事务的相关处理以及实现类就在这个Jar包中
spring-web-3.2.0.RELEASE.jar
包含web应用开发时,用到spring框架时所需的核心类,包括自动载入webapplicationcontext特性的类、struts与jsf集成类、文件上传的支持类、filter类和大量工具辅助类。
spring-webmvc-3.2.0.RELEASE.jar
spring mvc相关,实现springmvc的操作。
dbcp数据库连接池的包
commons-dbcp-1.2.2.jar
commons-pool-1.3.jar