最近公司接了一个客户项目,使用的环境是websphere6.1.0.0+db2 v9.项目中数据库连接池使用的是c3p0 v0.9.1.2。
可是现在系统老是死机,平均一天1次到2次。一直找不到具体原因所在,查看错误日志如下:
------Start of DE processing------ = [09-3-22 10:20:42:187 CST] , key = java.io.IOException com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters 765
Exception = java.io.IOException
Source = com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters
probeid = 765
Stack Dump = java.io.IOException: Async IO operation failed, reason: RC: 10054 远程主机强迫关闭了一个现有的连接。
at com.ibm.io.async.AbstractAsyncChannel.multiIO(AbstractAsyncChannel.java:443)
at com.ibm.io.async.AsyncSocketChannelHelper.read(AsyncSocketChannelHelper.java:194)
at com.ibm.ws.tcp.channel.impl.AioSocketIOChannel.readAIOSync(AioSocketIOChannel.java:205)
at com.ibm.ws.tcp.channel.impl.AioTCPReadRequestContextImpl.processSyncReadRequest(AioTCPReadRequestContextImpl.java:150)
at com.ibm.ws.tcp.channel.impl.TCPReadRequestContextImpl.read(TCPReadRequestContextImpl.java:109)
at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.fillABuffer(HttpServiceContextImpl.java:4126)
at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readSingleBlock(HttpServiceContextImpl.java:3366)
at com.ibm.ws.http.channel.impl.HttpServiceContextImpl.readBodyBuffer(HttpServiceContextImpl.java:3485)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundServiceContextImpl.getRequestBodyBuffer(HttpInboundServiceContextImpl.java:1680)
at com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.bufferIsGood(WCCByteBufferInputStream.java:105)
at com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream.read(WCCByteBufferInputStream.java:78)
at com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java:286)
at com.ibm.ws.webcontainer.servlet.RequestUtils.parsePostData(RequestUtils.java:297)
at com.ibm.ws.webcontainer.srt.SRTServletRequest.parseParameters(SRTServletRequest.java:1336)
at com.ibm.ws.webcontainer.srt.SRTServletRequest.getParameter(SRTServletRequest.java:994)
at com.elearningch.lms.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:95)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55)
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.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 com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
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)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:193)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:725)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:847)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
因为几处连接数据库时间过长,导致等待连接的客户端出错,服务器宕机。
分享到:
相关推荐
// 处理异常 MessageBox.Show("读取失败:" + ex.Message); } finally { // 关闭加载指示器或重新启用按钮 button1.Enabled = true; } } ``` 在上述代码中,`Task.Run` 包装了IO操作,将其放入后台线程执行...
这样的设计使得主线程可以在等待IO操作(如网络请求)完成时不会被阻塞,可以继续处理其他任务,提高了程序的响应性。 HTTP GET请求是最常见的网络请求方式之一,用于从服务器获取资源。在`async`框架下,我们可以...
通过研究 "socket.io-clientpp" 的源码,开发者可以深入了解如何在 C++ 中实现一个实时通信客户端,并能从中学习到网络编程、事件驱动编程以及如何处理网络异常的策略。这对于提升个人的编程技能和解决实际问题的...
2. **非阻塞I/O**:利用NIO(New IO)技术,Async-http-client能够有效地管理多个并发连接,减少了线程创建和销毁的开销,降低了系统的资源消耗。 3. **丰富的API**:Async-http-client提供了丰富的API,可以方便地...
- 长耗时的IO操作,如文件读写、网络请求等。 - 大量并行计算的任务,如批量数据处理。 - 避免主线程阻塞,如用户界面的异步加载。 8. **调试与测试** - 在测试中,可以使用`@AsyncAnnotationBeanPostProcessor...
- 在VB中,我们通常使用`System.IO.Stream`类及其子类来处理文件和网络流。例如,`NetworkStream`用于网络通信,`FileStream`用于本地文件操作。 3. **AsyncRead实现:** - 在VB中,没有直接的`AsyncRead`方法,...
Cindy框架就是基于这样的理念构建的,它利用事件驱动和回调函数,或者现代编程语言中的Promise和async/await机制,来实现非阻塞IO。 Cindy框架的核心组件包括事件循环(Event Loop)、事件处理器(Event Handler)...
.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .execute(() -> { // 后台任务 return doSomeNetworkRequest(); }) .subscribe(response -> { // 更新UI }, error -> { // ...
sk-async (WIP)基于Coro的无异常异步I / O库。仅适用于Windows。要求: MSVC 19.28(VS 16.9)或更高版本。不支持Clang,因为clang-cl不支持标准协程(尚未)。例子:
13. **异步IO操作**:C#从.NET 4.0开始引入异步IO,通过`async`和`await`关键字,可以编写非阻塞的IO代码,提高程序响应性。 14. **文件观察者**:`FileSystemWatcher`类可以监视文件系统的变化,如文件创建、删除...
`spring-mvc-async-processing`、`spring-mvc-async-io`等可能是项目中的模块,专注于不同的异步处理场景;而`servlet-async-*`可能包含与Servlet异步处理相关的代码示例;`tomcat-start`可能是启动Tomcat服务器的...
`async_graphql`是一个轻量级且高效的异步GraphQL库,它完全基于Python的协程(coroutine)和异步IO模型,适用于构建高性能的Web服务。此库的核心特性包括: 1. **类型系统**:`async_graphql`支持定义GraphQL对象...
3. 异步编程示例:使用`async/await`关键字实现非阻塞IO操作,如文件读写或网络请求。 4. 线程同步和通信:可能使用`lock`,`Monitor`,`Mutex`或其他同步机制来防止数据竞争。 5. 错误处理:通过`try-catch`块捕获...
Spring MVC通过`@Async`注解可以将方法标记为异步执行,使用`AsyncConfigurer`接口配置线程池,以及如何处理异步方法的返回值和异常。 3. **Servlet 3.0及以上版本的异步处理**:`servlet-async-io`和`servlet-...
在进行IO操作时,应始终考虑可能的异常,如文件不存在、无权限等。通常通过`try-catch`块来捕获并处理这些异常: ```csharp try { File.WriteAllText("nonExistFile.txt", "内容"); } catch ...
异步I/O使得程序在等待IO操作完成时可以执行其他任务,极大地提高了性能,特别是在处理大量网络请求或进行长时间阻塞操作时。 在Python 3.6中,引入了asyncio库,它是Python内置的异步I/O框架,`pyats.async`库很...
调用 exeQuery 接口时出现异常:System.IO.IOException: 该进程无法访问文件“e:\syslog\sells_log\att_log\2005\10\7\Att_log_2005_10_7_15.txt”,因为该文件正由另一进程使用。 at System.IO.__Error....
例如,C# 6.0引入了`async`和`await`关键字,随之而来的可能有与异步编程相关的异常,如`System.Threading.Tasks.TaskCanceledException`。开发者在升级C#版本时,需要了解这些新增的异常类型以便进行适当的错误处理...
如果事务内部发生任何异常,整个事务会被回滚;反之,如果正常执行,事务会被提交。 2. `@Async`:这个注解用于标记一个方法为异步,意味着该方法会在一个新的线程中执行,不阻塞当前调用线程。它通常用于提高系统...
在异步爬虫实现中,通常会用到Java的非阻塞I/O框架,如NIO(New IO)或更高级的Netty。这些框架允许爬虫并发地处理多个请求,而不是依次等待每个请求完成。这样可以显著提高爬取效率,尤其在处理大量页面时。Java的...