2015-01-13 29 views
0

我正在尝试开发自定义hawtio插件。我在基于hawtio-default 1.4.37的Tomcat中部署了自定义WAR。它工作正常Hawtio简单插件示例 - 选项卡不可见

我构建了simple-plugin.war,遵循https://github.com/hawtio/hawtio/tree/master/hawtio-plugin-examples/simple-plugin指令(不做任何更改)并将其部署到同一个Tomcat中。

没有错误,所有的日志都是干净的,我可以在JMX bean中看到简单的插件作为hawtio的插件,但是没有新的标签可见(尽管我想从.js代码中看到“Simple”标签应该出现)

有什么想法?这是否与观点有关?

编辑:

刚才检查浏览器控制台,看到404错误

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

看来,我的自定义WAR未正确重新

编辑2:

下载和部署clean hawtio-default-1.4.37.war - 简单插件的作品,“简单”标签可见

下载和部署清洁样品1.4.37.war - 简单的插件不工作,标签是不可见的,并得到404错误

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

回答

1

如果您为/ hawtio /插件获得404,那么您在战争中缺少PluginServlet,或者至少它没有运行 - >https://github.com/hawtio/hawtio/blob/master/hawtio-system/src/main/java/io/hawt/web/PluginServlet.java

这个servlet是前端如何发现任何额外的插件加载。我建议将你的web.xml与hawtio-web中的web.xml进行比较,并确保这个类正在被加载。

+0

正确,hawtio-默认1.4.37我用作基地缺少io.hawt.web.PluginServlet。我添加了它,现在它按预期工作。谢谢 – Sergey

2

您必须确保安装使用相同的名称简单的插件它在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> 

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

+0

谢谢你,克劳斯。在我的情况下,WAR的名字是正确的(simple-plugin.war)。实际上,它可以正确使用一个发行版(hawtio网络应用程序 - hawtio-default-1.4.37.war),并且不能与其他发行版一起使用(hawtio web应用程序 - sample-1.4.37.war) – Sergey