我使用 Apache Karaf 作为 OSGi 容器。Karaf 有 url 包装器,可以直接从 maven 存储库安装包
> install mvn:com.farpost.billing/background-service/2.2-SNAPSHOT
Bundle ID: 139
一切正常。但我想从给定的来源开始几个捆绑包。如果新捆绑包偶尔会中断生产服务并且我想回滚,这是有道理的。使用 OSGi,这非常简单
> list
[ 139] [Active ] [ ] [Started] [ 60] Billing background service (2.2-20100811-1232)
[ 140] [Resolved ] [ ] [ ] [ 60] Billing background service (2.2-20100809-1127)
> update 140
> list
[ 139] [Active ] [ ] [Started] [ 60] Billing background service (2.2-20100811-1232)
[ 140] [Resolved ] [ ] [ ] [ 60] Billing background service (2.2-20100812-1354)
> start 140
> stop 139
> list
[ 139] [Resolved ] [ ] [ ] [ 60] Billing background service (2.2-20100811-1232)
[ 140] [Active ] [ ] [Started] [ 60] Billing background service (2.2-20100812-1354)
#################
# suppose we need to rollback here
#################
> start 139
> stop 140
问题是我无法从一个来源创建多个捆绑包:
> install mvn:com.farpost.billing/background-service/2.2-SNAPSHOT
Bundle ID: 139
> install mvn:com.farpost.billing/background-service/2.2-SNAPSHOT
Bundle ID: 139
第二次install
调用不执行任何操作,但返回已经存在的捆绑包 ID。所以我的问题是,有没有办法从一个源网址创建多个捆绑包?