0

我 在 windows xp prefossional SP3 上使用apache-tomcat-6.0.18 。

我的要求是在JVMhttp- Header之间的 Tomcat 管理器 => 服务器状态 => 中显示其他信息(如组织名称) 。我已经"org.apache.catalina.manager.StatusTransformer::writeConnectorState<method name>"从 catalina.jar 源修改了该文件,并向其中添加了简单的文本。示例代码是

 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. 重新启动了tomcat,但没有任何结果。

即使我从中删除 catalina.jarcatalina_home/bin并启动 tomcat,它也能正常工作!!!!

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

请帮我解决以下问题

  1. 我修改了错误的文件吗?
  2. 没有catalina.jar,tomcat如何运行?
  3. 如何体现变化?即任何其他方式?
4

1 回答 1

0

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

编辑:我检查了我们的一台服务器,没有catalina.jarunder catalina_home/bin,只有 under catalina_home/lib

于 2011-03-04T09:13:07.057 回答