Deployment 卡拉夫驼峰路线的意外部署行为

Deployment 卡拉夫驼峰路线的意外部署行为,deployment,apache-camel,multiple-instances,apache-karaf,Deployment,Apache Camel,Multiple Instances,Apache Karaf,因此,我安装了ApacheKaraf3.0.4,其中有一个根实例和两个子实例。第一个孩子是多产的,另一个是从中克隆出来的,用于测试环境。 两个子实例都通过包装器作为Windows服务运行,根实例停止。 这些实例充当一些ApacheCamel路由的运行时,这些路由被编译为OSGi捆绑包和jar文件。通过将捆绑包复制到相应实例的deploy文件夹来部署捆绑包 我的问题是,如果我部署到任何一个实例,捆绑包也将安装到另一个实例 比如说,, 我在prod中运行1.0.0,在测试中运行1.0.1-SNAPS

因此,我安装了ApacheKaraf3.0.4,其中有一个根实例和两个子实例。第一个孩子是多产的,另一个是从中克隆出来的,用于测试环境。 两个子实例都通过包装器作为Windows服务运行,根实例停止。 这些实例充当一些ApacheCamel路由的运行时,这些路由被编译为OSGi捆绑包和jar文件。通过将捆绑包复制到相应实例的deploy文件夹来部署捆绑包

我的问题是,如果我部署到任何一个实例,捆绑包也将安装到另一个实例

比如说,, 我在prod中运行1.0.0,在测试中运行1.0.1-SNAPSHOT 及 我正在取消部署1.0.0,并将1.0.1部署到prod 结果是,prod正在运行1.0.1(正如预期的那样),test将运行1.0.1-SNAPSHOT和1.0.1版本

有人能告诉我是什么导致了这种行为吗?它是否与作为克隆的测试实例有关?有什么配置我需要检查吗


先谢谢你,h

我试图重现你的情景。 实例:创建prod 实例:克隆产品测试 实例:列表

测试实例似乎与prod具有相同的ssh端口。它似乎也使用相同的KARAF_BASE dir。因此,它也使用相同的部署文件夹


我认为您不应该使用clone来创建测试实例。

他们不是以某种方式共享同一个部署文件夹吗?事实上,这就是所示行为的含义。但是每一个实例都有自己的文件夹结构,文档中也指出了其他问题,如果有办法改变这种行为的话。嗯,奇怪,试着在Karaf-nabble论坛上发布这篇文章,Karaf开发者和用户都很活跃。是的,在同一个Karaf安装中混合使用prod和test的设计真的很糟糕Thx供您反馈。当然,我确实更改了端口(ssh、RMI注册表和RMI服务器)。所以这不是重点。除此之外,可能是一个糟糕的设计决策,我最初的问题仍然没有得到回答:这种行为是故意的吗?顺便说一句:我认为他们共享KARAF_BASE dir是错误的。它在*-wrapper.conf中配置,并指向正确的位置。不管怎样,我要分离测试环境。你能尝试在不从prod克隆的情况下创建测试实例吗?我认为这应该会更好。如果这也不起作用,那么它可能是windows上karaf中的一个bug。linux和windows实例的启动脚本看起来非常不同。