我在windows xp prefossional SP3上使用 apache-tomcat-6.0.18 。
我的要求是在Tomcat Manager =&gt;中显示其他信息(如组织名称)。服务器状态=&gt;在 JVM 和 http - 标题之间。我已经从catalina.jar源修改了文件"org.apache.catalina.manager.StatusTransformer::writeConnectorState<method name>"
并为其添加了简单的文本。示例代码是
public static void writeConnectorState(PrintWriter writer, ObjectName tpName, String name, MBeanServer mBeanServer, Vector globalRequestProcessors, Vector requestProcessors, int mode)throws Exception{
if (mode == 0) {
// START - Added New Code to display org name
writer.print("<h1>");
writer.print("XYZ Organization.");
writer.print("</h1>");
// END - Added New Code to display org name
writer.print("<h1>");
writer.print(name);
writer.print("</h1>");
writer.print("<p>");
writer.print(" Max threads: ");
writer.print(mBeanServer.getAttribute(tpName, "maxThreads"));
writer.print(" Current thread count: ");
writer.print(mBeanServer.getAttribute(tpName, "currentThreadCount"));
writer.print(" Current thread busy: ");
writer.print(mBeanServer.getAttribute(tpName, "currentThreadsBusy"));
...........
...........
}else{
.........
}// end if-else }// method end
再次使用修改后的代码创建了catalina.jar。并替换为catalina_home/bin
中现有的jar。重新启动了tomcat,但没有任何结果。
即使我从catalina_home/bin
中删除了catalina.jar并启动了tomcat,它仍在工作!
我在重新启动系统后尝试过,但我的更改没有反映出来。
请帮我解决以下问题
答案 0 :(得分:0)
对此不是100%肯定,但我认为您应该将修改后的catalina.jar放在catalina_home/lib
中,因为我相信Web应用程序加载其共享库的位置(Tomcat Manager只是{{1}下的另一个应用程序{1}})。
修改:我检查了我们的某个服务器,catalina_home/webapps/
下只有catalina.jar
,catalina_home/bin
下只有catalina_home/lib
。