在felix中更改捆绑级别?

时间:2011-01-27 21:57:43

标签: osgi apache-felix

我知道如何设置初始捆绑级别,仅用于部署捆绑包:

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],甚至捆绑名称。

让我举个例子。假设我想将bundle 5(bookshelf 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 个答案:

答案 0 :(得分:1)

我猜的不是最清晰的语法消息:) Bundle []指的是包ID。执行lb,获取所需包的ID,然后运行

  

bundlelevel -s NEW_LEVEL BUNDLE_ID

例如:对于4级和10级,请执行

  

bundlelevel -s 4 10

也许你因为错过了-s而得到投诉?

答案 1 :(得分:0)

在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版本(不知道您使用的是什么)?