Конфигурационные файлы Hotswap в плагинах Jira - например, Apache Felix
В платформе Apache Felix, на которой работает Jira, есть концепция, которая позволяет вам определять файлы конфигурации с функцией горячей замены. Возможно ли это как-то достичь в Jira Plugins?
Пример из Карафа
В Karaf - который также основан на Apache Felix - это работает путем аннотирования компонентов Spring/Blueprint классом конфигурации, таким как:
@Component(name="MyComponent")
@Designate(ocd = MyConfig.class)
public class MyComponentImpl implements MyComponent {
@Activate
public void activate(MyConfig config) {
// Do something with the config object
}
}
Затем определите этот класс конфигурации с некоторыми значениями по умолчанию:
@ObjectClassDefinition(name = "MyConfigFileName")
@interface MyConfig {
String username() default "username";
String password() default "password";
}
Если вы затем перетащите файл с именем MyConfigFileName.cfg
в папку karafhome/etc
платформа Apache Felix перезагрузит все компоненты Spring (здесь MyComponent
) которые используют MyConfig
конфигурации, и обновите его значения:
# MyConfigFileName.cfg
username = helloWorld
password = h3110W0rld!
Это возможно в Джира?
Исходя из того, что я понимаю, описанные выше функции должны быть возможны и в Jira, но вопрос в том, как? Если мы импортируем зависимость Maven, необходимую для аннотаций, и добавим ее, к какой папке следует добавить конфигурации?