gpt4 book ai didi

java - 如何在 gerrit 插件中使用 LifecycleListener?

转载 作者:行者123 更新时间:2023-12-01 14:13:06 27 4
gpt4 key购买 nike

我正在编写一个 gerrit 插件,并希望在插件重新启动/关闭时关闭网络连接。这可以使用 LifecycleListener 来完成。

据我所知,Guice 的 gerrit 插件有两种操作模式。一种是不在 list 中声明任何内容,并使用 @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
}
}
}

最佳答案

我发现 LifecycleListener 不能与 AutoRegistration 结合使用。

原因如下:为了使 @Listen 注释正常工作,由类实现的 @ExtensionPoint 接口(interface)(在本例中为 LifecycleListener code>) 必须在 Guice 模块中具有 DynamicItemDynamicSetDynamicMap 定义,而 LifecycleListener< 则不然.

关于java - 如何在 gerrit 插件中使用 LifecycleListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18338919/

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