gpt4 book ai didi

eclipse - 如何让 Eclipse 在调试时正常关闭 dropwizard?

转载 作者:行者123 更新时间:2023-12-02 18:39:49 24 4
gpt4 key购买 nike

我正在尝试使用 Dropwizard( https://github.com/robertkuhar/dropwiz_get_starthttps://github.com/robertkuhar/dropwiz_mongo_demo ),并且它与我的 IDE 集成的简单性给我留下了深刻的印象。要启动我的 dropwizard 应用程序,我只需找到带有 main 方法和“调试为...Java 应用程序”的类,然后就可以了。停止应用程序同样简单,只需单击“调试” View 中的红色“终止”按钮即可。然而,我注意到,当我以这种方式停止托管类时,我没有到达托管类的 stop() 方法中的断点。

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

@Override
public void run( BlogConfiguration configuration, Environment environment ) throws Exception {
...
MongoManaged mongoManaged = new MongoManaged( mongo );
environment.manage( mongoManaged );
...
}

MongoManage 的 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 - 如何让 Eclipse 在调试时正常关闭 dropwizard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22724833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com