2016-03-10 9 views
0

Каков правильный способ обновления пакетов Jira OSGi?Обновить JIRA OSGi bundles

Должен ли я использовать консоль Felix OSGi во время выполнения (недоступно в моем экземпляре JIRA по умолчанию)?

+1

Я предполагаю, что это связано с вашим предыдущим вопросом о необязательном импорте. Как вы устанавливаете/обновляете рассматриваемый пакет? Если это с помощью какого-либо интерфейса или команды, встроенной в JIRA, и если JIRA не может вызвать обновление, когда они это делают, то это ошибка. –

+0

Да, это связано с моим [предыдущим вопросом] (http://stackoverflow.com/questions/35888475/optional-bundle-resolution). Я использую JIRA UI, и он не работает после обновления. Единственный способ, которым это работает, - остановить JIRA, установить JAR вручную и запустить JIRA, но это громоздко на уровне развития. Вот почему я задал этот вопрос, чтобы проверить мои подозрения. –

+0

Вы также можете программно обновить свой собственный пакет: 'getBundle (0) .adapt (FrameworkWiring.class) .refreshBundles (...)'. –

ответ

1

Обновления от Gogo оболочки эквивалентен следующим код, который вы можете поместить в свою собственную пачку:

context.getBundle(0).adapt(FrameworkWiring.class).refreshBundles(...) 

Так может быть, вы можете слушать пачку события, когда новые пакеты устанавливаются JIRA UI, и обновить вызов, используя вышеуказанный метод.

Хитрость заключается в том, чтобы делать обновление только тогда, когда JIRA закончила серию установок/обновлений/удалений. Только JIRA может действительно знать, когда это будет сделано, но, возможно, вы сможете сделать обновление после ожидания, скажем, через 10 секунд после последнего изменения.

+0

Спасибо за подсказку, которая может быть полезна - я проверю это. –

Смежные вопросы