个人经验总结
- 格式:docx
- 大小:85.61 KB
- 文档页数:5
个人经验总结1WAS部分1.1查询时报结果集关闭的错误1.1.1错误日志[14-1-17 16:27:34:727 GMT+08:00] 000000dc SystemErr R com.ibm.db2.jcc.a.SqlException: Invalid operation: result set closed[14-1-17 16:27:34:767 GMT+08:00] 000000dc SystemErr R at com.ibm.db2.jcc.a.bd.lb(bd.java:3450) [14-1-17 16:27:34:767 GMT+08:00] 000000dc SystemErr R at com.ibm.db2.jcc.a.bd.c(bd.java:296) [14-1-17 16:27:34:767 GMT+08:00] 000000dc SystemErr R at com.ibm.db2.jcc.a.bd.next(bd.java:283) [14-1-17 16:27:34:767 GMT+08:00] 000000dc SystemErr R atcom.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultSet.java:2468)[14-1-17 16:27:34:768 GMT+08:00] 000000dc SystemErr R atbean.xtgl.menu.access.MenuAccess.getDynicMenus(MenuAccess.java:221)[14-1-17 16:27:34:768 GMT+08:00] 000000dc SystemErr R atbean.xtgl.menu.access.MenuAccess.getDataScript(MenuAccess.java:91)[14-1-17 16:27:34:768 GMT+08:00] 000000dc SystemErr R atcom.ibm._jsp._top._jspService(_top.java:112)1.1.2解决方案将数据源定制属性中的resultSetHoldability的值修改为1即可,保持游标继续打开。
1.2页面抛出异常ng.ArrayIndexOutOfBoundsExceptionatcom.ibm.nio.cs.DBA_Encoder.encodeArrayLoop(DBA_Encoder.java:124)1.2.1错误日志[13-9-18 11:21:47:337 GMT+08:00] 00000069 ServletWrappe E SRVE0068E: 未捕获到servlet /xtgl/qtgl/S1171xtwhfhrwlb.jsp 的其中一个服务方法中抛出的异常。
抛出的异常:ng.ArrayIndexOutOfBoundsExceptionatcom.ibm.nio.cs.DBA_Encoder.encodeArrayLoop(DBA_Encoder.java:124)atcom.ibm.nio.cs.DBA_Encoder.encodeLoop(DBA_Encoder.java:201)atjava.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:524)at sun.nio.cs.StreamEncoder$CharsetSE.implWrite(StreamEncoder.java:430)atsun.nio.cs.StreamEncoder.write(StreamEncoder.java:184)atjava.io.OutputStreamWriter.write(OutputStreamWriter.java:214)at com.ibm.wsspi.webcontainer.util.BufferedWriter.writeOut(BufferedWriter.java:484)at com.ibm.wsspi.webcontainer.util.BufferedWriter.write(BufferedWriter.java:318)atjava.io.PrintWriter.write(PrintWriter.java:375)at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:176)at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:359)at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:371)at com.ibm._jsp._S1171xtwhfhrwlb._jspService(_S1171xtwhfhrwlb.java:301)atcom.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:856)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)at com.cvicse.filters.ResourcesReleaseFilter.doFilter(ResourcesReleaseFilter.java:38)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)at com.cvicse.cmis.pm.filter.ContextServiceFilter.doFilter(ContextServiceFilter.java:89)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)at publib.filter.LegacySystemUserAuthenticationFilter.doFilter(LegacySystemUserAuthenticationFilter.java:107)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)at publib.filter.EvadableUrlFilter.doFilter(EvadableUrlFilter.java:70)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)at com.cvicse.cmis.pm.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:65)at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:696)at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:641)at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)atcom.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServlet Wrapper.java:168)at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)at plete(HttpICLReadCallback.java:102)at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)pleted(AsyncFuture.java:136)plete(ResultHandler.java:193)at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)atcom.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)1.2.2解决方案升级WAS6.1的补丁包或者将WAS服务器jvm通用参数去掉“-Dibm.stream.nio=true”1.3模板1.3.1错误日志1.3.2解决方案2ORACLE部分2.12.1.1错误日志2.1.2解决方案2.2ORA- 12519错误,排除了连接数等错误后2.2.1错误日志org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Listener refused theconnection with the following error:ORA-12519, TNS:no appropriate service handler found### The error may exist in mappers/pmMemberLoginMapper.xml### The error may involve com.cvicse.ts.pm.dao.MemberLoginDAO.getList### The error occurred while executing a query### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Listener refused the connection with the following error:ORA-12519, TNS:no appropriate service handler foundat org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)at com.sun.proxy.$Proxy169.selectList(Unknown Source)at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198)at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:119)at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52)at com.sun.proxy.$Proxy211.getList(Unknown Source)at com.cvicse.ts.pm.bo.factory.MemberLoginFactory.findMemberByMap(MemberLoginFactory.java:209)at com.cvicse.ts.spring.security.TokenAuthenticationService.addAuthentication(TokenAuthenticationService.java:60)at com.cvicse.ts.spring.security.TokenAuthenticationService.restToken(TokenAuthenticationService.java:109)at com.cvicse.ts.spring.security.StatelessAuthenticationFilter.doFilter(StatelessAuthenticationFilter.java:30)at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)2.2.2解决方案通过查询网上资料,出现的常见原因是process值偏小,建议增大后重启数据库,但是当前项目已经调整了,并且监控数据库连接数都比较小;后分析可能是数据源的连接数配置过小,经查看配置文件,数据源使用了“org.springframework.jdbc.datasource.DriverManagerDataSource”,此种方式建立连接是只要有连接就新建一个connection,根本没有连接池的作用,建议改为“mons.dbcp.BasicDataSource”,并配置连接池的连接数等属性,此种方式需要引用commons-dbcp.jar和commons-pool.jar。