Apache Tomcat Catalina文件的变化没有反映出来!

时间:2011-03-04 05:59:32

标签: java apache jar tomcat6 catalina

我在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,它仍在工作!

我在重新启动系统后尝试过,但我的更改没有反映出来。

请帮我解决以下问题

  1. 我修改了错误的文件吗?
  2. tomcat如何在没有catalina.jar的情况下运行?
  3. 如何反映变化?即任何其他方式?

1 个答案:

答案 0 :(得分:0)

对此不是100%肯定,但我认为您应该将修改后的catalina.jar放在catalina_home/lib中,因为我相信Web应用程序加载其共享库的位置(Tomcat Manager只是{{1}下的另一个应用程序{1}})。

修改:我检查了我们的某个服务器,catalina_home/webapps/下只有catalina.jarcatalina_home/bin下只有catalina_home/lib

相关问题