Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调试时如何使eclipse优雅地关闭dropwizard?_Eclipse_Dropwizard - Fatal编程技术网

调试时如何使eclipse优雅地关闭dropwizard?

调试时如何使eclipse优雅地关闭dropwizard?,eclipse,dropwizard,Eclipse,Dropwizard,我正在试验Dropwizard(,),并对它与IDE集成的简单性印象深刻。要启动我的DooWrand应用程序,我只需使用主方法和“调试为……java应用程序”来查找类,我在路上。停止应用程序同样简单,只需从调试视图中单击红色的“终止”按钮。然而,我注意到,当我以这种方式停止托管类的stop()方法时,我没有到达断点 当Dropwizard直接在eclipse的调试器中运行时,如何让它正常关闭 @Override public void run( BlogConfiguration configu

我正在试验Dropwizard(,),并对它与IDE集成的简单性印象深刻。要启动我的DooWrand应用程序,我只需使用主方法和“调试为……java应用程序”来查找类,我在路上。停止应用程序同样简单,只需从调试视图中单击红色的“终止”按钮。然而,我注意到,当我以这种方式停止托管类的stop()方法时,我没有到达断点

当Dropwizard直接在eclipse的调试器中运行时,如何让它正常关闭

@Override
public void run( BlogConfiguration configuration, Environment environment ) throws Exception {
    ...
    MongoManaged mongoManaged = new MongoManaged( mongo );
    environment.manage( mongoManaged );
    ...
}
MongoManager的stop()中的断点永远不会被命中

public class MongoManaged implements Managed {
    private final MongoClient mongo;

    public MongoManaged( MongoClient mongo ) {
        this.mongo = mongo;
    }

    @Override
    public void start() throws Exception {
    }

    @Override
    public void stop() throws Exception {
        if ( mongo != null ) {
            mongo.close();
        }
    }
}

如果您使用这个java特性有帮助吗

// In case vm shutdown
Runtime.getRuntime().addShutdownHook(new Thread() {
    @Override
    public void run()
    {
        // what should be closed if forced shudown
        // ....

        LOG.info(String.format("--- End of ShutDownHook (%s) ---", APPLICATION_NAME));
    }
});

只需在第一个断点之前添加它。

这是如何被否决的?哎呀。很难对付的人群,有帮助吗?你的观察结果是什么?根据我的经验,eclipse以这样一种方式终止了进程,即关闭钩子被跳过。