编辑: f19970615123fa | 2019-07-01 |
Prerequisites Requirements Cisco 建议您了解以下主题: Linux接口 q 虚拟机环境 q 兔子? q Components Used 本文档中的信息基于以下软件版本: CloudCenter版本4.3.x到4.6.x q CloudCenter消息巴斯(RabbitMQ_Server) q The information in this document was created from the devices in a specific lab environment.All of the devices used in this document started with a cleared (default) configuration.If your network is live, make sure that you understand the potential impact of any command. ?背景信息 ?池的活动线程大小是64线程被提交与工作相应是将被拒绝作为代码不能处理的地方因此超过 3000超过64线程它每次将等待上一任务被完成和完成另一项任务. 是更加极大的所有任务被执行的threadpool能消耗将被拒绝.? 问题 filecliqr-connection.log位于/usr/local/tomcatgua/logs/报告错误: Caused by: org.springframework.core.task.TaskRejectedException: Executor [java.util.concurrent.ThreadPoolExecutor@6737f4fb[Running, pool size = 64, active threads = 64, queued tasks = 3000, completed tasks = 413]] did not accept task: org.springframework.aop.interceptor.AsyncExecutionInterceptor$1@6b0517b3 at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.submit(ThreadPoolTaskExecutor.j ava:284) at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.doSubmit(AsyncExecutionAspectSup port.java:186) at org.springframework.aop.interceptor.AsyncExecutionInterceptor.invoke(AsyncExecutionInterceptor.j ava:123) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation. java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208) at com.sun.proxy.$Proxy84.processMessage(Unknown Source) at com.osmosix.commons.messaging.listeners.impl.DefaultNodeMessageListener.handleMessage(DefaultNod eMessageListener.java:35) at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269) at org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter.invokeListenerMethod(Mes sageListenerAdapter.java:383) ...
12 more Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@3911a213 rejected from java.util.concurrent.ThreadPoolExecutor@6737f4fb[Running, pool size = 64, active threads = 64, queued tasks = 3000, completed tasks = 413] at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:20 47) at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823) at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134) at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.submit(ThreadPoolTaskExecutor.j ava:281) ...
23 more 2016-10-19 02:32:32,205 INFO annotation.RequestMappingHandlerMapping [localhost-startStop-1] - Mapped "{[/image/service/dltargetlocal],methods=[POST]}" onto public java.util.Map com.osmosix.gateway.image.transform.ImageTransformController.downloadToTargetLocal(com.osmosix.c ommons.image.transform.DownloadImageFileRequest) 2016-10-19 02:32:32,206 WARN listener.ConditionalRejectingErrorHandler [SimpleAsyncTaskExecutor- 1] - Execution of Rabbit message listener failed. org.springframework.amqp.rabbit.listener.exception.ListenerExecutionFailedException: Listener method 'handleMessage' threw exception at org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter.invokeListenerMethod(Mes sageListenerAdapter.java:391) at org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter.onMessage(MessageListene rAdapter.java:294) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(Abstr actMessageListenerContainer.java:757) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(Abstrac tMessageListenerContainer.java:680) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$001(SimpleMessage ListenerContainer.java:93) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$1.invokeListener(SimpleM essageListenerContainer.java:183) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.invokeListener(SimpleMes sageListenerContainer.java:1352) at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(Abstra ctMessageListenerContainer.java:661) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(Simp leMessageListenerContainer.java:1096) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(Simple MessageListenerContainer.java:1080) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$800(SimpleMessage ListenerContainer.java:93) at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingCo nsumer.run(SimpleMessageListenerContainer.java:1197) at java.lang.Thread.run(Thread.java:745) 解决方法 步骤1. RabbitMQ服务器的洛金通过SSH. 步骤2.换成root用户. # sudo -i 步骤3. Enable (event)插件的Manegement. # rabbitmq-plugins enable rabbitmq_management 步骤4.对rabbitmqadmin命令的Enable (event)访问.?? # chmod +x `find /var/lib/rabbitmq/ -name "rabbitmqadmin"` # ln -s `find /var/lib/rabbitmq/ -name "rabbitmqadmin"` /usr/sbin 步骤5. RabbitMQ可以通过GUI被获取. http://:15672 (username=cliqr password=cliqr) Note:用您的RabbitMQ服务器地址替换在配置的RabbitMQ_Server_IP 连接Queues选项发现详细资料 或CLI : # rabbitmqadmin -V /cliqr -u cliqr -p cliqr list queues # rabbitmqadmin -V /cliqr -u cliqr -p cliqr list exchanges # rabbitmqadmin -V /cliqr -u cliqr -p cliqr list channels 第6.步.删除网关心跳线队列. #rabbitmqadmin -V /cliqr delete queue name=cliqr.gateway.heartbeat.queue --username=cliqr -- password=cliqr 步骤7.重新启动Tomcat服务在RabbitServer. #/etc/init.d/tomcatgua stop #/etc/init.d/tomcatgua start ?? Note:?如果cliqr.gateway.heartbeat.queue失踪,请通过遵从下面的步骤重新启动CCO Tomcat服务: 步骤8. CCO服务器的洛金通过SSH. 步骤9.换成root用户. # sudo -i 步骤10.重新启动Tomcat服务器. #/etc/init.d/tomcat stop #/etc/init.d/tomcat start