You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@rocketmq.apache.org by "Wu Sheng (JIRA)" <ji...@apache.org> on 2017/01/11 02:33:58 UTC

[jira] [Created] (ROCKETMQ-39) Duplicated codes in both filtersrv and namesrv modules

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)