HelloWorld 善战者,求之于势,不责于人;故能择人而任势。

知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。

  BlogJava :: 首页 ::  :: 联系 ::  :: 管理 ::
  167 随笔 :: 1 文章 :: 40 评论 :: 0 Trackbacks
  // Tomcat 重启动
  try {
  //1 获得Server
  Class server = Class.forName("org.apache.catalina.ServerFactory");
  Method getServer = server.getDeclaredMethod("getServer", new Class[0]);  
  Object obj = getServer.invoke(server, new Object[0]);
  
  //2 获得Services
  Method findServices = obj.getClass().getDeclaredMethod("findServices",new Class[0]);
  Object[] objs = (Object[])findServices.invoke(obj, new Object[0]);
  for (int i = 0; i < objs.length; i++) {
   Method getContainer = objs[i].getClass().getMethod("getContainer", new Class[0]);
   Object container = getContainer.invoke(objs[i], new Object[0]);
   Method findChildren = container.getClass().getMethod("findChildren", new Class[0]);
   
   Object[] containers = (Object[])findChildren.invoke(container, new Object[0]);  
   // 3.这里是要重启动的系统的名称如/systemXXX
   Object[] objss = {"/xxxx"};
   Class[] cls = {java.lang.String.class};
   for (int j = 0; j < containers.length; j++) {
    Method temp = containers[j].getClass().getMethod("findChild", cls);
    Object abmApp = temp.invoke(containers[j], objss);
    if (abmApp != null) {
     //可以为stop,reload
     Method relaod = abmApp.getClass().getMethod("reload", new Class[0]);
     relaod.invoke(abmApp, new Object[0]);
    }
   }   
  }
  } catch (Exception e) {
   e.printStackTrace();
  }

</script>

posted on 2007-12-06 15:15 helloworld2008 阅读(565) 评论(1)  编辑  收藏 所属分类: java

评论

# re: tomcat重新,停止某个web项目代码[未登录] 2013-01-21 09:38 IT民工
大哥,我非常感谢你,你太强了,我网络中找了N久,就没找到这方面的资料,你这里刚好有,真的很感谢。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: