我收到了一堆警告节目
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)
Redistributor的源代码显示
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");
}
Future的源代码显示
public synchronized void run() {
done = true;
notify();
}
知道为什么会这样吗?