【问题标题】:Karaf switch to another version bundleKaraf 切换到另一个版本包
【发布时间】:2018-09-07 18:32:17
【问题描述】:

我在同一个 war 包的 karaf 中有两个版本(1.0 和 2.0),其中包含在同一地址上运行的 servlet。我用这个命令运行它:

捆绑:安装 -s "webbundle:file:///home/marat/projects/webmodule/target/webmodule-1.0.war?Bundle-SymbolicName=Runner&Web-ContextPath=/sample"

并且两个战争包都在 Karaf 网络控制台中显示为活动。

我有一个应用程序每 10 毫秒 ping 地址http://localhost:8181/sample/hello(servlet)(应用程序发送 GET 请求)。首先,该应用程序从以 war v1.0 为代表的 servlet 中获取答案。如果我停止包含war v1.0 的包,我希望karaf 自动将发送到地址http://localhost:8181/sample/hello 的请求切换到war v2.0,因为该包中的servlet 与war 1.0 的地址相同。应用会收到此响应:

java.io.IOException:服务器返回 HTTP 响应代码:401 用于 URL: http://localhost:8181/sample/hello

当我重新启动一个 pinger 应用程序时,它成功连接到 war v2.0。

当我停止战争版本 1.0 时,如何使 Karaf 不自动切换到战争 v2.0?

【问题讨论】:

    标签: servlets war karaf


    【解决方案1】:

    我认为第二次战争没有部署,你不能两次注册同一个端点。

    【讨论】:

    • 它似乎已部署,我可以在 webconsole 中看到它处于活动状态。当我停止第一个时,我可以用我的 http-client 连接到它。
    猜你喜欢
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2015-12-04
    • 1970-01-01
    • 2012-05-27
    相关资源
    最近更新 更多