【问题标题】:Hawtio simple plugin example - tab is not visibleHawtio 简单插件示例 - 选项卡不可见
【发布时间】:2015-01-13 14:35:17
【问题描述】:

我正在尝试开发一个自定义 hawtio 插件。我在 Tomcat 中部署了基于 hawtio-default 1.4.37 的自定义 WAR。它工作正常

我按照https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/simple-plugin 指令构建了 simple-plugin.war(未进行任何更改)并将其部署在同一个 Tomcat 中。

没有错误,所有日志都是干净的,我可以看到 simple-plugin 作为 JMX bean 中 hawtio 的插件,但是没有可见的新选项卡(尽管我从 .js 代码中猜测“简单”选项卡应该出现)

有什么想法吗?和观点有关吗?

编辑:

刚刚检查了浏览器控制台,发现 404 错误

GET http://localhost:8080/myhawtio/plugin/ 404 (Not Found)

我的自定义 WAR 似乎没有正确重新配置

编辑 2:

下载并部署干净的 hawtio-default-1.4.37.war - simple-plugin 有效,“简单”选项卡可见

下载并部署干净的 sample-1.4.37.war - simple-plugin 不起作用,选项卡不可见并出现 404 错误

GET http://localhost:8080/sample-1.4.37/plugin 404 (Not Found)

【问题讨论】:

    标签: plugins hawtio


    【解决方案1】:

    您必须确保使用与 web.xml 文件中配置的名称相同的名称安装简单插件。

    在 web.xml 中,当您从以下位置构建示例时,会设置上下文路径: https://github.com/hawtio/hawtio/blob/master/hawtio-plugin-examples/simple-plugin/src/main/resources/WEB-INF/web.xml#L14

    默认生成为

    <context-param>
        <description>Plugin's path on the server</description>
        <param-name>plugin-context</param-name>
        <param-value>/simple-plugin</param-value>
    </context-param>
    

    这意味着您应该在 Apache Tomcat 中将 war 安装为 simple-plugin,例如将 .war 文件重命名为 simple-plugin.war

    【讨论】:

    • 谢谢你,克劳斯。就我而言,WAR 的名称是正确的(simple-plugin.war)。实际上,它适用于一个发行版(裸 hawtio Web 应用程序 - hawtio-default-1.4.37.war),但不适用于另一个发行版(一个 hawtio Web 应用程序 - sample-1.4.37.war)
    【解决方案2】:

    如果 /hawtio/plugin 得到 404,那么你的战争中缺少 PluginServlet,或者至少它没有运行 -> https://github.com/hawtio/hawtio/blob/master/hawtio-system/src/main/java/io/hawt/web/PluginServlet.java

    这个 servlet 是前端发现要加载的任何其他插件的方式。我建议将您的 web.xml 与 hawtio-web 中的进行比较,并确保已加载此类。

    【讨论】:

    • 正确,hawtio-default 1.4.37 我用作基础缺少 io.hawt.web.PluginServlet。我添加了它,现在它按预期工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    相关资源
    最近更新 更多