Thread Exception | java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.Net

执行java代码时,出现异常.

我这里是想重复使用线程池,但是调用了shutdown,出现此错误。

java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.NettyUawServer$$Lambda$166/909987181@5a85b84f rejected from java.util.concurrent.ThreadPoolExecutor@23aff740[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 189]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2063)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:830)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1379)
	at cn.hba.module.detection.NettyUawServer.lambda$run$1(NettyUawServer.java:55)
	at java.util.ArrayList.forEach(ArrayList.java:1257)
	at cn.hba.module.detection.NettyUawServer.run(NettyUawServer.java:52)
	at cn.hba.module.detection.DetectionHostServiceImpl.detectionClientByIpScope(DetectionHostServiceImpl.java:22)
	at cn.hba.module.control.ControlServiceImpl.detectionClientByIpScope(ControlServiceImpl.java:241)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.remoting.support.RemoteInvocationTraceInterceptor.invoke(RemoteInvocationTraceInterceptor.java:78)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at com.sun.proxy.$Proxy91.detectionClientByIpScope(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:302)
	at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:217)
	at org.springframework.remoting.caucho.HessianExporter.doInvoke(HessianExporter.java:223)
	at org.springframework.remoting.caucho.HessianExporter.invoke(HessianExporter.java:138)
	at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:66)
	at cn.hba.modules.rpc.http.RpcRequestHandlerServlet.service(RpcRequestHandlerServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at cn.hba.modules.web.server.catalina.SimpleErrorReportValve.invoke(SimpleErrorReportValve.java:50)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

代码部分

线程池的定义

Thread Exception | java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.Net_第1张图片

 执行任务

Thread Exception | java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.Net_第2张图片

 线程停止

Thread Exception | java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.Net_第3张图片

 修改如下

Thread Exception | java.util.concurrent.RejectedExecutionException: Task cn.hba.module.detection.Net_第4张图片

ok,问题解决。

你可能感兴趣的:(多线程)