[ 
https://issues.apache.org/jira/browse/ROCKETMQ-39?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15832958#comment-15832958
 ] 

ASF GitHub Bot commented on ROCKETMQ-39:
----------------------------------------

Github user wu-sheng commented on a diff in the pull request:

    https://github.com/apache/incubator-rocketmq/pull/34#discussion_r97197140
  
    --- Diff: 
filtersrv/src/main/java/org/apache/rocketmq/filtersrv/FiltersrvStartup.java ---
    @@ -139,7 +139,7 @@ public static FiltersrvController 
createController(String[] args) {
     
                 Runtime.getRuntime().addShutdownHook(new 
ShutdownHookThread(log, new Callable() {
                     @Override
    -                public Object call() throws Exception {
    +                public Void call() throws Exception {
                         controller.shutdown();
                         return null;
    --- End diff --
    
    @WillemJiang, Are you sure about no need `return null`? I have run a `mvn 
package` on local, and you can see, `return statement` is required.
    
    ```
    [ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) 
on project rocketmq-namesrv: Compilation failure
    [ERROR] 
/Users/wusheng/Documents/code/github/incubator-rocketmq-fork/namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvStartup.java:[128,17]
 缺少返回语句
    [ERROR] -> [Help 1]
    ```
    



> 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