簡體   English   中英

Jolokia防止Tomcat關閉

[英]Jolokia prevents Tomcat Shutdown

我將jolokia與我的tomcat集成在一起(tomcat 7.0.53,jdk 1.8.0_45)

我在tomcat-directory / bin / setenv.sh中配置了Javaagent:

CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/jolokia-jvm-1.2.0-agent.jar=config=/path/to/config.properties"

現在,我在關閉tomcat時遇到了麻煩。 ps向我展示了Java進程已經在運行。 這里ist關閉的輸出:

-bash-4.1$ ./shutdown.sh
Using CATALINA_BASE:   /usr/local/tomcat/7.0.53/instance/ingest-news
Using CATALINA_HOME:   /usr/local/tomcat/7.0.53/instance/ingest-news
Using CATALINA_TMPDIR: /usr/local/tomcat/7.0.53/instance/ingest-news/temp
Using JRE_HOME:        /usr/local/java64/jdk1.8.0_45
Using CLASSPATH:       /usr/local/tomcat/7.0.53/instance/ingest-news/bin/bootstrap.jar:/usr/local/tomcat/7.0.53/instance/ingest-news/bin/tomcat-juli.jar
Using CATALINA_PID:    /var/run/tomcat/ingestnews.pid
Tomcat did not stop in time. PID file was not removed. To aid diagnostics a thread dump has been written to standard out.

這是線程轉儲:

INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
2015-07-10 11:46:04
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode):

"DestroyJavaVM" #31 prio=5 os_prio=0 tid=0x00007f69f05c4800 nid=0x370a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Keep-Alive-Timer" #22 daemon prio=8 os_prio=0 tid=0x00007f6974142800 nid=0x372f waiting on condition [0x00007f697eefd000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:172)
        at java.lang.Thread.run(Thread.java:745)

"Thread-7" #20 daemon prio=5 os_prio=0 tid=0x00007f6980435000 nid=0x372b runnable [0x00007f69b4dc6000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPoll.epollWait(Native Method)
        at sun.nio.ch.EPollPort$EventHandlerTask.poll(EPollPort.java:194)
        at sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:268)
        at java.lang.Thread.run(Thread.java:745)

"PoolCleaner[683287027:1436521533079]" #19 daemon prio=5 os_prio=0 tid=0x00007f698039d800 nid=0x372a in Object.wait() [0x00007f69b52c7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00000000c51153f0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"GC Daemon" #16 daemon prio=2 os_prio=0 tid=0x00007f69f04ec000 nid=0x371e in Object.wait() [0x00007f69b5d6b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000c473d598> (a sun.misc.GC$LatencyLock)
        at sun.misc.GC$Daemon.run(GC.java:117)
        - locked <0x00000000c473d598> (a sun.misc.GC$LatencyLock)

"Service Thread" #15 daemon prio=9 os_prio=0 tid=0x00007f69f02dd000 nid=0x371b runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #14 daemon prio=9 os_prio=0 tid=0x00007f69f02d1800 nid=0x371a waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #13 daemon prio=9 os_prio=0 tid=0x00007f69f02c7800 nid=0x3719 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #12 daemon prio=9 os_prio=0 tid=0x00007f69f02b0000 nid=0x3718 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Jolokia Agent Cleanup Thread" #11 daemon prio=5 os_prio=0 tid=0x00007f69f02bc800 nid=0x3717 in Object.wait() [0x00007f69d85c3000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Thread.join(Thread.java:1245)
        - locked <0x00000000c47b9298> (a org.jolokia.discovery.MulticastSocketListenerThread)
        at java.lang.Thread.join(Thread.java:1319)
        at org.jolokia.jvmagent.CleanupThread.joinThreads(CleanupThread.java:110)
        at org.jolokia.jvmagent.CleanupThread.run(CleanupThread.java:60)


"Thread-5" #10 prio=5 os_prio=0 tid=0x00007f69ac001000 nid=0x3716 runnable [0x00007f69d84c2000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x00000000c47b9a40> (a sun.nio.ch.Util$2)
        - locked <0x00000000c47b9a30> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000c47b9898> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at sun.net.httpserver.ServerImpl$Dispatcher.run(ServerImpl.java:352)
        at java.lang.Thread.run(Thread.java:745)

"Thread-3" #8 prio=5 os_prio=0 tid=0x00007f69f02bb000 nid=0x3714 runnable [0x00007f69d86c4000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainDatagramSocketImpl.receive0(Native Method)
        - locked <0x00000000c47b9638> (a java.net.PlainDatagramSocketImpl)
        at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:144)
        - locked <0x00000000c47b9638> (a java.net.PlainDatagramSocketImpl)
        at java.net.DatagramSocket.receive(DatagramSocket.java:812)
        - locked <0x00000000c43e3998> (a java.net.DatagramPacket)
        - locked <0x00000000c47b95e8> (a java.net.MulticastSocket)
        at org.jolokia.discovery.MulticastSocketListenerThread.receiveMessage(MulticastSocketListenerThread.java:113)
        at org.jolokia.discovery.MulticastSocketListenerThread.run(MulticastSocketListenerThread.java:70)

"server-timer" #7 daemon prio=5 os_prio=0 tid=0x00007f69f026b000 nid=0x3713 in Object.wait() [0x00007f69d87c5000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00000000c460e9c0> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f69f017e000 nid=0x3712 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f69f0146000 nid=0x3711 in Object.wait() [0x00007f69d91fe000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        - locked <0x00000000c43e39c0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f69f0144000 nid=0x3710 in Object.wait() [0x00007f69d92ff000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
        - locked <0x00000000c43e3a00> (a java.lang.ref.Reference$Lock)

"VM Thread" os_prio=0 tid=0x00007f69f013f000 nid=0x370f runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f69f001f000 nid=0x370b runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f69f0021000 nid=0x370c runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f69f0022800 nid=0x370d runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f69f0024800 nid=0x370e runnable

"VM Periodic Task Thread" os_prio=0 tid=0x00007f69f02df800 nid=0x371c waiting on condition

JNI global references: 269

Heap
 PSYoungGen      total 284672K, used 39633K [0x00000000ec100000, 0x0000000100000000, 0x0000000100000000)
  eden space 250880K, 3% used [0x00000000ec100000,0x00000000ec960a58,0x00000000fb600000)
  from space 33792K, 91% used [0x00000000fdf00000,0x00000000ffd53bd0,0x0000000100000000)
  to   space 37888K, 0% used [0x00000000fb600000,0x00000000fb600000,0x00000000fdb00000)
 ParOldGen       total 89600K, used 41901K [0x00000000c4200000, 0x00000000c9980000, 0x00000000ec100000)
  object space 89600K, 46% used [0x00000000c4200000,0x00000000c6aeb770,0x00000000c9980000)
 Metaspace       used 51923K, capacity 52642K, committed 52864K, reserved 1095680K
  class space    used 6257K, capacity 6462K, committed 6528K, reserved 1048576K

現在,當我從catalina_opts中刪除javaagent時,一切都會再次正常運行。 我已經搜索了stackoverflow,但是沒有找到任何解決方案。

這是一個在1.2.3中解決的已知問題-> https://github.com/rhuss/jolokia/issues/155

建議至少升級到1.2.3,當然最好升級到最新和最好的版本1.3.1 ;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM