The main method executes the exception exit program and does not exit all the time.

< H2 > the main method executes an exception and does not exit the program all the time < / H2 >
    A RuntimeException,Spring container startup interrupt is thrown in the static code block of the
  • class, but the program has not been terminated. I don"t know why. Can you help me analyze it? thank you
  • the DestroyJavaVM thread has started but is waiting for Condition
  • main Code

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath*:/applicationContext.xml");
        System.exit(0);
    } 
C:\Users\admin>jstack 6276
2018-05-11 16:31:22
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode):

"logback-3" -sharp38 daemon prio=5 os_prio=0 tid=0x000000002a238000 nid=0x45a4 waiting on condition [0x000000003341e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000006419b1750> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"DestroyJavaVM" -sharp37 prio=5 os_prio=0 tid=0x000000002a236800 nid=0x24f4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"logback-2" -sharp36 daemon prio=5 os_prio=0 tid=0x000000002a235000 nid=0x4228 waiting on condition [0x000000003331e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000006419b1750> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"CleanCursors-1-thread-1" -sharp35 daemon prio=5 os_prio=0 tid=0x000000002a230000 nid=0x3f34 waiting on condition [0x0000000032fee000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000749073370> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"cluster-ClusterId{value="5af5545b908f1f1884936a21", description="null"}-localhost:27017" -sharp34 daemon prio=5 os_prio=0 tid=0x000000002a232000 nid=0x4380 waiting on condition [0x0000000032eee000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000748ff2180> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForSignalOrTimeout(DefaultServerMonitor.java:222)
        at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForNext(DefaultServerMonitor.java:203)
        at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:151)
        - locked <0x000000074900be50> (a com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable)
        at java.lang.Thread.run(Thread.java:748)

"Timer-0" -sharp33 daemon prio=5 os_prio=0 tid=0x000000002a230800 nid=0x2bd0 in Object.wait() [0x0000000032aef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007874d7e68> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:552)
        - locked <0x00000007874d7e68> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:505)

"schedulerFactoryBean_QuartzSchedulerThread" -sharp32 prio=5 os_prio=0 tid=0x000000002a234800 nid=0x1188 in Object.wait() [0x00000000329ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:410)
        - locked <0x00000007874d78f0> (a java.lang.Object)

"schedulerFactoryBean_Worker-10" -sharp31 prio=5 os_prio=0 tid=0x000000002a236000 nid=0x2ad4 in Object.wait() [0x00000000328ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d6228> (a java.lang.Object)

"schedulerFactoryBean_Worker-9" -sharp30 prio=5 os_prio=0 tid=0x000000002a233800 nid=0x3da0 in Object.wait() [0x00000000327ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5f30> (a java.lang.Object)

"schedulerFactoryBean_Worker-8" -sharp29 prio=5 os_prio=0 tid=0x000000002d407800 nid=0x2f70 in Object.wait() [0x00000000326ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5c38> (a java.lang.Object)

"schedulerFactoryBean_Worker-7" -sharp28 prio=5 os_prio=0 tid=0x000000002d404800 nid=0x13b4 in Object.wait() [0x00000000325ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5940> (a java.lang.Object)

"schedulerFactoryBean_Worker-6" -sharp27 prio=5 os_prio=0 tid=0x000000002d403000 nid=0x1c74 in Object.wait() [0x00000000324ee000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5648> (a java.lang.Object)

"schedulerFactoryBean_Worker-5" -sharp26 prio=5 os_prio=0 tid=0x000000002d405000 nid=0x192c in Object.wait() [0x00000000323ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5350> (a java.lang.Object)

"schedulerFactoryBean_Worker-4" -sharp25 prio=5 os_prio=0 tid=0x000000002d400800 nid=0x408c in Object.wait() [0x00000000322ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d5058> (a java.lang.Object)

"schedulerFactoryBean_Worker-3" -sharp24 prio=5 os_prio=0 tid=0x000000002d402000 nid=0x27c4 in Object.wait() [0x00000000321ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d4d60> (a java.lang.Object)

"schedulerFactoryBean_Worker-2" -sharp23 prio=5 os_prio=0 tid=0x000000002d406000 nid=0x3cb4 in Object.wait() [0x00000000320ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d4a68> (a java.lang.Object)

"schedulerFactoryBean_Worker-1" -sharp22 prio=5 os_prio=0 tid=0x000000002d401800 nid=0x2c58 in Object.wait() [0x0000000031fef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
        - locked <0x00000007874d4770> (a java.lang.Object)

"Druid-ConnectionPool-Destroy-1526482966" -sharp21 daemon prio=5 os_prio=0 tid=0x000000002ae05000 nid=0x3d88 waiting on condition [0x0000000031eef000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2257)

"Druid-ConnectionPool-Create-1526482966" -sharp20 daemon prio=5 os_prio=0 tid=0x000000002ae04000 nid=0x3fac waiting on condition [0x0000000031def000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000642057f68> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2164)

"Druid-ConnectionPool-Destroy-1774014171" -sharp19 daemon prio=5 os_prio=0 tid=0x000000002826d000 nid=0x5cc waiting on condition [0x0000000030d1f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:2257)

"Druid-ConnectionPool-Create-1774014171" -sharp18 daemon prio=5 os_prio=0 tid=0x000000002af00000 nid=0x2260 waiting on condition [0x0000000030c1f000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000641b0b518> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2164)

"OracleTimeoutPollingThread" -sharp17 daemon prio=10 os_prio=2 tid=0x000000002c41f000 nid=0x42b0 waiting on condition [0x00000000302af000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at oracle.jdbc.driver.OracleTimeoutPollingThread.run(OracleTimeoutPollingThread.java:148)

"oracle.jdbc.driver.BlockSource.ThreadedCachingBlockSource.BlockReleaser" -sharp16 daemon prio=4 os_prio=-1 tid=0x000000002bc27800 nid=0x3f84 in Object.wait() [0x000000002b91e000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x000000064200f348> (a oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser)
        at oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.run(BlockSource.java:327)
        - locked <0x000000064200f348> (a oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser)

"logback-1" -sharp15 daemon prio=5 os_prio=0 tid=0x0000000028584800 nid=0x44f4 waiting on condition [0x0000000027e6e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000006419b1750> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
        at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"Service Thread" -sharp13 daemon prio=9 os_prio=0 tid=0x000000002605e000 nid=0x47f0 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread3" -sharp12 daemon prio=9 os_prio=2 tid=0x000000002604d000 nid=0xba8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" -sharp11 daemon prio=9 os_prio=2 tid=0x000000002604c000 nid=0x1e9c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" -sharp10 daemon prio=9 os_prio=2 tid=0x0000000026049800 nid=0x476c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" -sharp9 daemon prio=9 os_prio=2 tid=0x0000000026046800 nid=0x25c8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Command Reader" -sharp8 daemon prio=10 os_prio=0 tid=0x000000002545a000 nid=0x2900 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Event Helper Thread" -sharp7 daemon prio=10 os_prio=0 tid=0x0000000025458800 nid=0x2e48 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"JDWP Transport Listener: dt_socket" -sharp6 daemon prio=10 os_prio=0 tid=0x00000000234ea800 nid=0x40f4 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" -sharp5 daemon prio=5 os_prio=2 tid=0x00000000253f4000 nid=0x2dd4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" -sharp4 daemon prio=9 os_prio=2 tid=0x00000000253de800 nid=0x18fc runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" -sharp3 daemon prio=8 os_prio=1 tid=0x00000000234e3000 nid=0x300c in Object.wait() [0x00000000258af000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000641646c88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        - locked <0x0000000641646c88> (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" -sharp2 daemon prio=10 os_prio=2 tid=0x00000000234dc000 nid=0x47f8 in Object.wait() [0x00000000253ae000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000641647fd8> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
        - locked <0x0000000641647fd8> (a java.lang.ref.Reference$Lock)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"VM Thread" os_prio=2 tid=0x0000000004f5d000 nid=0x2ccc runnable

"GC task thread-sharp0 (ParallelGC)" os_prio=0 tid=0x0000000004e7c000 nid=0x10e8 runnable

"GC task thread-sharp1 (ParallelGC)" os_prio=0 tid=0x0000000004e7d800 nid=0x1044 runnable

"GC task thread-sharp2 (ParallelGC)" os_prio=0 tid=0x0000000004e7f000 nid=0x3634 runnable

"GC task thread-sharp3 (ParallelGC)" os_prio=0 tid=0x0000000004e80800 nid=0x1120 runnable

"GC task thread-sharp4 (ParallelGC)" os_prio=0 tid=0x0000000004e83800 nid=0x2b20 runnable

"GC task thread-sharp5 (ParallelGC)" os_prio=0 tid=0x0000000004e85000 nid=0x4584 runnable

"GC task thread-sharp6 (ParallelGC)" os_prio=0 tid=0x0000000004e88000 nid=0x1a10 runnable

"GC task thread-sharp7 (ParallelGC)" os_prio=0 tid=0x0000000004e89000 nid=0x2e88 runnable

"VM Periodic Task Thread" os_prio=2 tid=0x0000000026211000 nid=0x4604 waiting on condition

JNI global references: 22095

Mar.10,2021
Menu