我正在尝试使用Jenkins共享库中的静态变量来实现某些功能。我注意到每个构建都有此静态变量的自己的版本。
我发现插件类在类加载器层次结构中加载得更高。这些插件之一定义了一个静态注册表,我想将其用于我的目的(我得到了一个免费的端点)。
然后在共享库中定义一个静态对象,并向该静态注册表注册。但是,我收到一条错误消息,说已经从注册表中注册了具有相同名称的对象。这意味着每个版本都会创建自己的静态变量,然后尝试在此注册表中注册此新对象。
这些静态变量的定义如下:
private final static Histogram histogram = getHistogram(...)
getHistogram()是Util类中带有@NonCPS注释的方法,可以解决在构造函数或静态字段中调用CPS代码的问题。
我想为每个版本使用相同的静态直方图。
谢谢。