1
我有一大堆的警告显示超时等待任务完成时停止再分发
09:56:11,069 WARN [org.hornetq.core.server.cluster.impl.Redistributor] (Thread-5 (HornetQ-server-HornetQServerImpl::serverUUID=98ea621a-fdd7-11e3-9e48-33de940622fd-752268326)) Timed out waiting for tasks to complete
09:56:11,092 WARN [org.hornetq.core.server.cluster.impl.Redistributor] (Thread-12 (HornetQ-server-HornetQServerImpl::serverUUID=98ea621a-fdd7-11e3-9e48-33de940622fd-752268326)) Timed out waiting for tasks to complete
09:56:11,108 WARN [org.hornetq.core.server.cluster.impl.Redistributor] (Thread-2 (HornetQ-server-HornetQServerImpl::serverUUID=98ea621a-fdd7-11e3-9e48-33de940622fd-752268326)) Timed out waiting for tasks to complete
只有在同一时间运行某些监测工作。
环境是配置为组播的jboss-eap-6.0和hornetq 2.2.16。
堆栈跟踪显示
at org.hornetq.core.server.cluster.impl.Redistributor.stop(Redistributor.java:107)
at org.hornetq.core.server.impl.QueueImpl.cancelRedistributor(QueueImpl.java:673)
at org.hornetq.core.server.impl.QueueImpl$2.run(QueueImpl.java:521)
at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:104)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
再分发的源代码显示
public synchronized void stop() throws Exception {
active = false;
Future future = new Future();
executor.execute(future);
boolean ok = future.await(100000);
if (!ok) Redistributor.log.war("Timed out wating for tasks to complete");
}
未来的源代码显示
public synchronized void run() {
done = true;
notify();
}
任何想法,为什么出现这种情况?
谢谢,这个bug会导致一些泄漏或不好的事情? – Hippoom
不是我所知道的 –