栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

NewProxyPreparedStatement.isClosed()Z ; com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

NewProxyPreparedStatement.isClosed()Z ; com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed

在实现 json 对象返回到后端并保存到数据库时,网页报了如下错误

	

HTTP状态 500 - 内部服务器错误


类型 异常报告

消息 Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1006)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
	org.springframework.web.servlet.frameworkServlet.processRequest(frameworkServlet.java:974)
	org.springframework.web.servlet.frameworkServlet.doPost(frameworkServlet.java:877)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	org.springframework.web.servlet.frameworkServlet.service(frameworkServlet.java:851)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

根本原因。

java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract
	com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.isClosed(NewProxyPreparedStatement.java)
	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.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:78)
	com.sun.proxy.$Proxy28.isClosed(Unknown Source)
	org.apache.ibatis.executor.baseExecutor.closeStatement(baseExecutor.java:285)
	org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:52)
	org.apache.ibatis.executor.baseExecutor.update(baseExecutor.java:117)
	org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
	org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
	org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185)
	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.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)
	com.sun.proxy.$Proxy16.insert(Unknown Source)
	org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)
	org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:58)
	org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
	com.sun.proxy.$Proxy17.insertProduction(Unknown Source)
	com.cyx.service.InsertMapperImpl.insertAll(InsertMapperImpl.java:27)
	com.cyx.service.InsertMapperImpl$$FastClassBySpringCGLIB$$64cc14cc.invoke(<generated">>)
	org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:747)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
	org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
	org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
	org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
	com.cyx.service.InsertMapperImpl$$EnhancerBySpringCGLIB$$5ac0b524.insertAll(<generated">>)
	com.cyx.controller.NodelinkPage.insertData(NodelinkPage.java:28)
	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:209)
	org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
	org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
	org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
	org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
	org.springframework.web.servlet.frameworkServlet.processRequest(frameworkServlet.java:974)
	org.springframework.web.servlet.frameworkServlet.doPost(frameworkServlet.java:877)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	org.springframework.web.servlet.frameworkServlet.service(frameworkServlet.java:851)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
	org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

):注意 主要问题的全部 stack 信息可以在 server logs 里查看


Apache Tomcat/9.0.41

昨晚因为报这个错,于是找了好久好久,看了下日志,并没有显示什么异常,并且在不用事务操作的时候,数据增加了一条数据,但是我是插入了多个啊,怎么就只给我执行一个语句就中断停止

首先认为是自己代码问题,会不会因为自己哪里写错了,才中断的,但事实是在测试类中能成功插入,昨天没找到问题的原因是自己总觉得是我的代码问题,所以一直在测试代码,因为毕竟执行了一条语句,要不然就都不应该执行,后来换了个简单的代码------------------------也只执行一条,数据库连接就给我关闭了
今天解决问题的原因在于方向不再是自己代码上了,认真看了下报错原因,显示c3p0这个关键字,于是去网上搜了搜,说是c3p0版本的问题,0.9.5.2以下 建议都不要用,因为他会与spring不兼容,于是我看了下我的依赖

所以问题到底是什么??????
后来经过多番查找,被一位兄台的问题给点醒了,会不会是缓存问题,代码没问题,包没问题,但有个很重要的事情是当IDEA最后部署到Tomcat时是要把这些文件和jar包一起打包的,也就是说你所看到的代码和依赖并不是真实的,真实的东西是在最后打的包

也就是这个文件夹,检查发现

好家伙,果然果然啊,在这里就有个知识点可以得知,添加的依赖在不清空缓存的情况下,重新部署,原来的依赖还是存在,虽然MAVE的依赖库里被替换了,但是打包的lib并没有,所以导致新旧两个包冲突了,因祸得福,这种经验课本上是学不来的
解决办法:

清空缓存,重新部署,问题解决

总结:

遇到包的依赖问题,在重新更换完依赖后,一定要看看部署的包有没有替换,那才是核心的文件,透过现象看本质,才是解决问题的根源,我爱编程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763978.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号