我正在编写一个 gerrit 插件,并希望在插件重启/关闭时关闭网络连接。这可以使用LifecycleListener
.
据我所知,关于 Guice 的 gerrit 插件有两种操作模式。一种是不在 Manifest 中声明任何内容,而是对所有内容使用自动注册,使用 和 之类的@Listen
注释@Export
。另一种是创建一个 Guice 模块并在该模块中手动完成所有接线。
我想使用自动注册,但我无法使用LifecycleListener
. 添加@Listen
注释无效,侦听器被忽略。
我的代码看起来像这样(最小化):
@Listen
@Singleton
public class CommitValidationTest implements CommitValidationListener {
@Listen
public static class Lifecycle implements LifecycleListener {
@Override
public void start() {
// write to log
}
@Override
public void stop() {
// write to log
}
}
}