Изменить уровень Bundle в Феликсе? - PullRequest
0 голосов
/ 28 января 2011

Я знаю, как установить начальный уровень пакета, просто для развертывания пакета:

bundlelevel -i 5

Но как мне изменить уровень существующего пакета? Помощь для bundlelevel говорит:

  bundlelevel - set bundle start level or initial bundle start level
   scope: felix
   flags:
      -i, --setinitial   set the initial bundle start level
      -s, --setlevel   set the bundle's start level
   parameters:
      int   target level
      Bundle[]   target identifiers

bundlelevel - query bundle start level
   scope: felix
   parameters:
      Bundle   bundle to query

Понятия не имею, что такое аргумент "Bundle []". Я пробовал только bundle_id и [bundle_id] и даже имя пакета.

Позвольте мне показать пример. Допустим, я хочу изменить уровень связки 5 (книжная полка API) с 1 на 2.

g! lb
START LEVEL 5
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.7)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.6.1)
    3|Active     |    1|Apache Felix Gogo Runtime (0.6.1)
    4|Active     |    1|Apache Felix Gogo Shell (0.6.1)
    5|Active     |    1|Bookshelf Inventory API (1.5.0)

Я попробовал следующее:

g! bundlelevel -s 2 [5]
gogo: IllegalArgumentException: Cannot coerce 
    bundlelevel(String, String, ArrayList) to any of 
    [(boolean, boolean, int, Bundle[]), (Bundle)] 

g! bundlelevel -s 2 5
Must specify target bundles.

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Не самый ясный из синтаксических сообщений, я думаю :) Bundle [] относится к идентификаторам пакетов.Сделайте lb, получите идентификатор для нужного вам пакета, затем запустите

bundlelevel -s NEW_LEVEL BUNDLE_ID

например: для уровня 4 и пакета 10 выполните

bundlelevel -s 4 10

Может быть, вы получали жалобы, потому что пропустили -s?

0 голосов
/ 24 февраля 2011

Получил некоторый опыт в FUSE ESB, но никогда не использовал felix. Только что скачал felix 3.0.8 и попробовал:

g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.8)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.8.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.8.0)
    4|Active     |    1|Apache Felix Gogo Shell (0.8.0)

g! bundlelevel -s 10 4

g! lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (3.0.8)
    1|Active     |    1|Apache Felix Bundle Repository (1.6.2)
    2|Active     |    1|Apache Felix Gogo Command (0.8.0)
    3|Active     |    1|Apache Felix Gogo Runtime (0.8.0)
    4|Resolved   |   10|Apache Felix Gogo Shell (0.8.0)
g!

Я очень старался воспроизвести твою проблему, но не смог. Это швы для работы, как указано. Вы пробовали это в новой установке или с новой версией Felix (не знаю, что вы используете)?

...