基本上我的代码会消耗其他产品中的一些文件,并且会在一个线程中更正文件。更正2000个文件后会出现异常
async.ThreadPoolAsynchronousRunner com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4dc94cb-死锁!!!为未分配的待处理任务创建紧急线程! FINEST | 1396/0 | Service yajsw | 18-09-12 14:10:01 | [INFO]作业ID :: [3448]和taskId :: [00000165c894c1e97bf8db8900c000a800040039]的util.ServiceProcessOutputReceiver FINEST | 1396/0 |服务yajsw | 18-09-12 14:10:36 | [INFO] FINEST | 1396/0 | Service yajsw | 18-09-12 14:11:29 | [INFO] util.UploadFileUtil文件上传完成,已从工作空间中删除更正的文件。 FINEST | 1396/0 |服务yajsw | 18-09-12 14:12:34 | [INFO] util.UploadFileUtil删除,返回值:: true INFO | 1396/0 |服务yajsw | 18-09-12 14:17:08 |在120000超时内缺少包装程序ping 警告| 1396/0 |服务yajsw | 18-09-12 14:19:48 | Java应用程序和包装器之间的ping超时。如果这是由于服务器过载,请考虑增加wrapper.ping.timeout INFO | wrapper | Service yajsw | 18-09-12 14:20:59 |由于默认退出代码规则而重新启动过程 INFO |包装程序|服务yajsw | 18-09-12 14:21:10 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:21:29 |使用pid / timeout 1396 45000停止进程 INFO | 1396/0 |服务yajsw | 18-09-12 14:24:26 |控制器关闭会话 INFO | wrapper | Service yajsw | 18-09-12 14:33:53 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper |服务yajsw | 18-09-12 14:34:08 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 12-09-18 14:38:04 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:38:51 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:39:12 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:39:13 |使用pid 3540启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:39:27 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:39:34 |由于默认退出代码规则而重新启动过程 INFO |包装器|服务yajsw | 18-09-12 14:39:34 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:39:34 |使用pid / timeout 3540 45000停止进程 INFO | wrapper | Service yajsw | 18-09-12 14:40:22 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper | Service yajsw | 18-09-12 14:40:25 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 18-09-12 14:41:36 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:42:27 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:42:37 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:42:38 |使用pid 8064启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:42:57 | Java应用程序启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:42:58 |由于默认退出代码规则而重新启动过程 INFO |包装器|服务yajsw | 18-09-12 14:42:58 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:42:58 |使用pid / timeout 8064 45000停止进程 INFO | wrapper | Service yajsw | 18-09-12 14:43:49 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper |服务yajsw | 18-09-12 14:43:52 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 12-09-18 14:45:37 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:46:19 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:46:52 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:46:53 |使用pid 7276启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:47:07 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:47:09 |由于默认退出代码规则而重新启动过程 INFO |包装器|服务yajsw | 18-09-12 14:47:09 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:47:09 |使用pid / timeout 7276 45000停止进程 INFO | wrapper | Service yajsw | 18-09-12 14:47:54 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper |服务yajsw | 18-09-12 14:47:54 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 12-09-18 14:48:39 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:49:01 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:49:06 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:49:07 |使用pid 2632启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:49:33 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:49:49 |由于默认退出代码规则而重新启动过程 INFO |包装器|服务yajsw | 18-09-12 14:49:49 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:49:49 |使用pid / timeout停止进程2632 45000 INFO | wrapper | Service yajsw | 18-09-12 14:50:34 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper |服务yajsw | 18-09-12 14:50:34 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 18-09-12 14:51:24 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:51:56 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:52:07 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:52:10 |使用pid 5852启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:52:27 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:52:27 |由于默认退出代码规则而重新启动过程 INFO |包装程序|服务yajsw | 18-09-12 14:52:27 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:52:27 |使用pid / timed停止进程5852 45000 INFO | wrapper | Service yajsw | 18-09-12 14:53:12 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper | Service yajsw | 18-09-12 14:53:13 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 12-09-18 14:54:42 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:55:50 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:56:10 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:56:11 |使用pid 6448启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:56:21 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:56:22 |由于默认退出代码规则而重新启动过程 INFO | wrapper | Service yajsw | 18-09-12 14:56:22 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:56:22 |使用pid / timeout停止进程6448 45000 INFO | wrapper | Service yajsw | 18-09-12 14:57:07 | Process.waitFor OS结果#258中的错误等待操作超时。 INFO | wrapper | Service yajsw | 18-09-12 14:57:07 |进程在45000秒后没有停止。 ->硬杀死 INFO | wrapper | Service yajsw | 12-09-18 14:58:00 |进程退出代码:999 INFO |包装程序|服务yajsw | 18-09-12 14:58:20 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:58:23 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:58:23 |使用pid 5496启动进程 WARNING | wrapper | Service yajsw | 18-09-12 14:58:51 | Java应用程序的启动超时。如果这是由于服务器过载导致的,请考虑增加wrapper.startup.timeout INFO | wrapper | Service yajsw | 18-09-12 14:58:51 |由于默认退出代码规则而重新启动过程 INFO |包装器|服务yajsw | 18-09-12 14:58:51 |重新启动内部RUNNING INFO | wrapper | Service yajsw | 18-09-12 14:58:51 |使用pid / timeout 5496 45000停止进程 INFO | 5496/7 | Service yajsw | 18-09-12 14:59:01 | java.io.IOException:句柄无效 INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.io.FileInputStream.readBytes(本机方法) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.io.FileInputStream.read(未知来源) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.io.BufferedInputStream.fill(未知来源) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.io.BufferedInputStream.read(未知来源) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在org.rzo.yajsw.io.TeeInputStream $ Source.run(TeeInputStream.java:221) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:01 |在java.lang.Thread.run(未知来源) INFO | 5496/7 | Service yajsw | 18-09-12 14:59:07 | [INFO] StandardFileSystemManager-使用“ C:\ Windows \ TEMP \ vfs_cache”作为临时文件存储。 INFO | 5496/7 |服务yajsw | 18-09-12 14:59:10 |无法分类GarbageCollectorMXBean [G1 Young Generation] INFO | 5496/7 |服务yajsw | 18-09-12 14:59:10 |无法分类GarbageCollectorMXBean [G1 Old Generation] INFO | 5496/7 |服务yajsw | 18-09-12 14:59:10 | !!警告 !! Windows JDK7应该设置-Djava.net.preferIPv4Stack = true(请参见Java错误7179799) INFO | 5496/7 |服务yajsw | 18-09-12 14:59:12 |包装管理器收到停止命令 INFO |包装器|服务yajsw | 18-09-12 14:59:13 |控制器关闭会话 INFO | wrapper | Service yajsw | 18-09-12 14:59:13 |进程退出代码:0 INFO |包装程序|服务yajsw | 18-09-12 14:59:33 |工作目录C:\ Program Files \ Baton Content Corrector \ database INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |警告:WaitForInputIdle返回258 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |使用pid 8728启动进程 INFO | 8728/8 | Service yajsw | 18-09-12 14:59:36 | java.io.IOException:句柄无效 INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 | !!警告 !! Windows JDK7应该设置-Djava.net.preferIPv4Stack = true(请参见Java错误7179799) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.io.FileInputStream.readBytes(本机方法) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |包装器管理器收到停止命令 INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.io.FileInputStream.read(未知来源) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.io.BufferedInputStream.fill(未知来源) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.io.BufferedInputStream.read(未知来源) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在org.rzo.yajsw.io.TeeInputStream $ Source.run(TeeInputStream.java:221) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源) INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |在java.lang.Thread.run(未知来源) INFO | 8728/8 | Service yajsw | 18-09-12 14:59:36 | [INFO] StandardFileSystemManager-使用“ C:\ Windows \ TEMP \ vfs_cache”作为临时文件存储。 INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |无法分类GarbageCollectorMXBean [G1 Young Generation] INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 |无法分类GarbageCollectorMXBean [G1 Old Generation] INFO | 8728/8 |服务yajsw | 18-09-12 14:59:36 | 2018-09-12 14:59:35.518:INFO:oejs.Server:jetty-7.x.y-SNAPSHOT INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |由于默认退出代码规则而重新启动过程 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |由于退出代码规则而关闭了包装器 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |进程未处于运行状态->延迟停止 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |由于退出代码规则而关闭了包装器 INFO |包装器|服务yajsw | 18-09-12 14:59:36 |调用onStop INFO | wrapper | Service yajsw | 12-09-18 14:59:36 | Win服务停止-超时:30000 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 | Win service wrapper.control->停止应用程序 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 |进程未处于运行状态->延迟停止 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 | Win服务停止-关闭后 INFO | wrapper | Service yajsw | 18-09-12 14:59:36 | Win服务停止-通知前 INFO | wrapper | Service yajsw | 12-09-18 14:59:36 | Win服务终止
我已经阅读了许多文章,其中许多文章建议将hibernate.c3p0.idle_test_period保持小于c3p0超时,这也很有意义。
我还认为死锁可能是由于缓存已设置为50的语句而将其保持为0可能会解决死锁情况
这是我的c3p0配置
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="hibernate.c3p0.min_size">10</property>
<property name="hibernate.c3p0.max_size">75</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
请指导!