Как совместно использовать статические переменные для всех заданий в Jenkins? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь реализовать некоторые функции, используя статическую переменную в моей общей библиотеке в Jenkins. Я заметил, что каждая сборка имеет свою версию этой статической переменной.

Я выяснил, что классы плагинов загружаются выше в иерархии загрузчиков классов. Один из этих плагинов определяет статический реестр, который я хочу использовать для своих целей (я получаю бесплатную конечную точку с ним).

В разделяемой библиотеке я определяю статический объект, который я регистрирую в этом статическом реестре. Однако я получаю сообщение об ошибке, в котором говорится, что объект с таким же именем уже зарегистрирован в реестре. Это означает, что каждая сборка создает свою собственную статическую переменную и затем пытается зарегистрировать этот новый объект в этом реестре.

Эти статические переменные определены следующим образом:

private final static Histogram histogram = getHistogram(...)

Где getHistogram ()метод в классе Util, аннотированный @NonCPS, чтобы обойти проблему с вызовом кода CPS в конструкторах или статических полях.

Я хотел бы использовать одну и ту же статическую гистограмму для каждой сборки.

Заранее спасибо.

...