mule没有启动,它尝试启动挂起一段时间,并在一段时间后尝试再次启动,如重启。进行了线程转储。在分析线程转储时有一个警告,它表示" 3个线程是传递阻塞的。它表示锁定未被释放。"这可能是潜在的问题,可能与码头有关,但不清楚是什么。这是线程转储分析的一部分
0x00000000e0f43f40
Object
Held by:
qtp383251638-61-acceptor-0-ServerConnector@7d75f858{HTTP/1.1}{0.0.0.0:7777}
Threads waiting to take lock:
qtp383251638-62-acceptor-1-ServerConnector@7d75f858{HTTP/1.1}{0.0.0.0:7777}
qtp383251638-63-acceptor-2-ServerConnector@7d75f858{HTTP/1.1}{0.0.0.0:7777}
qtp383251638-64-acceptor-3-ServerConnector@7d75f858{HTTP/1.1}{0.0.0.0:7777}
"qtp383251638-61-acceptor-0-ServerConnector@7d75f858{HTTP/1.1}{0.0.0.0:7777}": running, holding [0x00000000e0f43f40]
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
at org.eclipse.jetty.server.ServerConnector.accept(ServerConnector.java:321)
at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:460)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
at java.lang.Thread.run(Thread.java:745)
答案 0 :(得分:1)
当接受者没有主动接受连接时,它们总是处于阻塞状态,这对于那种线程来说是正常的。
您的问题在其他地方 尽管如此,您还没有给出足够的详细信息来解决问题。 (对不起)
答案 1 :(得分:0)
解决了线程转储的问题。建立与消息代理的连接存在问题。
nid=0xe128 in Object.wait() [0x00007f41303ef000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at org.apache.activemq.transport.failover.FailoverTransport.oneway(FailoverTransport.java:613)
- locked <0x00000000ddddecf0> (a java.lang.Object)
at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)