我知道如何设置初始捆绑级别,仅用于部署捆绑包:
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.
感谢任何帮助。
答案 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版本(不知道您使用的是什么)?