使用Java程序动态操作Tomcat

来源:互联网 发布:万科待遇怎么样知乎 编辑:程序博客网 时间:2024/06/03 22:45

         最近公司在动态通过Java程序操作Tomcat,Jetty,MySql,VirtualBox调研,我负责的是windows下和linux下动态操作Tomcat,主要包括以下功能点

  1.     动态开启和关闭Tomcat
  2.     动态发布应用程序到Tomcat中
  3.     动态的获得Tomcat目前的堆内存,以及线程数,以及会话数等等信息
  4.    发布应用程序后动态的返回相关web项目的访问路径
  5.    动态的对Tomcat进行备份以及对Tomcat中的应用程序进行备份
  6.   动态的停止和undeplody  Tomcat中的程序 
  7.   动态的为每个Tomcat分配内存
        下面总结下每个功能点的实现方案        

       1.  第一个比较简单,先动态的复制产生一个新的Tomcat,然后动态的修改CATALINA_HOME,接下来检测端口是否占用,为其动态的分配可用的端口,接下来主要是使用Runtime.getRuntime().exec();

           如果是在windows下则执行startup.bat文件和shutdown.bat文件

           如果是在linux下则执行startup.bat文件盒shutdown.sh文件,但是需要先修改相应sh文件的执行权限,此时也是通过Runtime.getRuntime().exec(‘chmod  -R 755 c    startup.sh’);等

      2.第二个和第六个主要是通过Tomcat提供的http接口,http://localhost:8080/manage/text/command?path=...这样的接口,tomcat文档上面有详细的描述

      3.第三条主要是通过配置Tomcat开启JMX监控,然后再Java程序中使用JMX获得相关内存信息等

      4.第四个就是记录Tomcat开启的端口,以及应用程序信息,以及服务器ip,拼接成一个访问地址

      5.第五个很简单,就是文件操作

      6.第七个windows下主要是修改catalina.bat文件,linux主要是修改catalina.sh文件

以上大致的动态操作Tomcat的实现进行了大体的描述

     





原创粉丝点击