Wu Sheng created ROCKETMQ-39:
--------------------------------

             Summary: Duplicated codes in both filtersrv and namesrv modules
                 Key: ROCKETMQ-39
                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-39
             Project: Apache RocketMQ
          Issue Type: Improvement
          Components: rocketmq-namesrv
            Reporter: Wu Sheng
            Assignee: Xiaorui Wang
            Priority: Minor


In FiltersrvStartup.class and NamesrvStartup.class, exist the exact same code 
about add jvm shutdown hook, and execute somthing on shutting down.

Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
                private volatile boolean hasShutdown = false;
                private AtomicInteger shutdownTimes = new AtomicInteger(0);

                @Override
                public void run() {
                    synchronized (this) {
                        log.info("shutdown hook was invoked, " + 
this.shutdownTimes.incrementAndGet());
                        if (!this.hasShutdown) {
                            this.hasShutdown = true;
                            long begineTime = System.currentTimeMillis();
                            controller.shutdown();
                            long consumingTimeTotal = 
System.currentTimeMillis() - begineTime;
                            log.info("shutdown hook over, consuming time 
total(ms): " + consumingTimeTotal);
                        }
                    }
                }
            }, "ShutdownHook"));



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to