`
swallowha
  • 浏览: 6834 次
  • 性别: Icon_minigender_2
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java代码实现启动tomcat

 
阅读更多
package com.huawei.m2m.deploy.ui.action;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.commons.lang.StringUtils;
import org.eclipse.gmf.runtime.common.core.util.Log;

import com.huawei.m2m.deploy.ui.DeployUiPlugin;
import com.huawei.m2m.deploy.ui.LogStatusCodes;
import com.huawei.m2m.deploy.ui.l10n.Messages;
import com.huawei.m2m.deploy.ui.util.DeployManager;

/**
* StartService
*/
public class StartService
{
    /**
     * Tomcat没启动则启动Tomcat
     * @return boolean
     */
    public boolean startTomcatService()
    {
       
        String cmd = DeployManager.getPath() + "apache-tomcat/bin/startup.bat"; //$NON-NLS-1$
        try
        {
            if (!isStartTomcat())
            {
                Process proc = Runtime.getRuntime().exec(cmd);
                StreamGobblerThread errorGobbler = new StreamGobblerThread(
                        proc.getErrorStream(), "Error"); //$NON-NLS-1$
                StreamGobblerThread outputGobbler = new StreamGobblerThread(
                        proc.getInputStream(), "Output"); //$NON-NLS-1$
                errorGobbler.start();
                outputGobbler.start();
               
                if (proc.waitFor() == 0)
                {
                    return false;
                }
            }
            return true;
        }
        catch (Exception e)
        {
            Log.error(DeployUiPlugin.getDefault(),
                    LogStatusCodes.StartService,
                    e.getMessage());
           
        }
        return false;
    }
   
    private boolean isStartTomcat()
    {
        BufferedReader br = null;
        Process pro = null;
        try
        {
            pro = Runtime.getRuntime().exec("netstat -an -p TCP"); //$NON-NLS-1$
            br = new BufferedReader(new InputStreamReader(pro.getInputStream()));
            String str = StringUtils.EMPTY;
            while ((str = br.readLine()) != null)
            {
                String temp = "LISTENING";//$NON-NLS-1$
                if (StringUtils.isNotBlank(str)
                        && str.contains(Messages.M2MDeployUtil_0)
                        && str.contains(temp))
                {
                    return true;
                }
            }
           
        }
        catch (Exception e)
        {
            Log.error(DeployUiPlugin.getDefault(),
                    LogStatusCodes.StartService,
                    e.getMessage());
        }
        finally
        {
           
            if (br != null)
            {
                try
                {
                    br.close();
                }
                catch (IOException e)
                {
                    Log.error(DeployUiPlugin.getDefault(),
                            LogStatusCodes.StartService,
                            e.getMessage());
                }
            }
            if (pro != null)
            {
                pro.destroy();
            }
        }
        return false;
    }
   
}
分享到:
评论

相关推荐

    java代码启动tomcat

    Java 代码启动 Tomcat 在 Java 中,使用 Tomcat 服务器来发布 Web 应用程序是一种常见的做法。下面,我们将详细介绍如何使用 Java 代码来启动 Tomcat 服务器,并实现远程控制 Tomcat。 标题: Java 代码启动 ...

    java调用命令行启动tomcat

    #### 三、编写Java代码启动Tomcat 接下来,我们将通过Java代码来调用命令行启动Tomcat。这里提供一种简单的实现方式——利用`ProcessBuilder`类。 ```java import java.io.IOException; import java.util....

    java启动tomcat

    在部分内容中,我们可以看到使用 Java 程序来监听 Tomcat 服务器的状态,并在 Tomcat 无响应时自动重启 Tomcat 的实现思路。 监听 Tomcat 服务器状态 在 Java 程序中,我们使用定时访问服务器端固定的 JSP 页面...

    java缓存代码,tomcat JVM配置

    本文将深入探讨“java缓存代码,tomcat JVM配置”这一主题,包括Java缓存的实现方法以及如何对Tomcat服务器进行JVM配置和连接池设定,以提升系统效率。 首先,我们来看Java缓存代码。在Java中,缓存是一种常见的...

    tomcat 部署java项目 jar

    - 标签中的“源码”可能指的是Java项目的源代码,开发者可以查看和修改这些代码来实现特定功能。 - “工具”可能包括IDE(如Eclipse, IntelliJ IDEA)、构建工具(如Maven, Gradle)、版本控制系统(如Git)等,...

    Java内嵌式Tomcat-TomcatDemo

    1. **启动与配置**:在Java代码中,通过`org.apache.catalina.startup.Tomcat`类来初始化和启动Tomcat服务器。开发者可以设置端口号、上下文路径、Web应用的根目录等参数。 2. **Web应用目录结构**:标准的Web应用...

    java tomcat 监控程序

    这可能涉及调用操作系统级别的命令来停止和启动Tomcat服务,或者利用Tomcat自身的管理API来实现平滑重启。 4. **报警机制**:当程序挂掉并自动重启时,监控程序应具备发送报警的能力。这通常通过集成短信服务提供商...

    java利用ManagementFactory获取tomcat的一些信息例子

    1. **启动Tomcat的JMX代理**: 在Tomcat的`conf/server.xml`配置文件中,打开JMX Remote的设置。在`<Server>`元素内添加如下配置: ```xml ... ... ``` 并在`$CATALINA_HOME/bin/catalina.sh`(或...

    命令行启动关闭tomcat而不显示cmd界面

    如果不想以服务方式运行,但仍然想在命令行启动Tomcat而不显示窗口,可以在启动命令后添加`-startup`参数,例如:`startup.bat -startup`。这将在后台启动Tomcat,但仅适用于手动启动,不适合自动启动或远程操作。 ...

    Tomcat与Java Web开发技术详解源代码.rar

    JSP则是Servlet的一种视图表示技术,允许开发者使用HTML语法来编写页面,同时嵌入Java代码来实现动态内容生成。JSP最终会被编译成Servlet,由Tomcat执行。 本书可能涵盖了以下知识点: 1. **Tomcat安装与配置**:...

    java project 在tomcat下调试插件

    当你启动这个Tomcat服务器实例时,Eclipse会自动使用插件提供的功能来启动Tomcat,并监听调试端口。在代码中设置断点,然后开始调试,当程序执行到断点处,Eclipse会暂停,此时你可以查看变量值、单步执行、或者修改...

    tomcat6.0 修改启动内存设置 java jvm参数配置

    ### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...

    修改java代码以及js无需重启tomcat

    ### 修改Java代码及JS无需重启Tomcat的知识点详解 #### 一、背景介绍 在软件开发过程中,频繁地启动和停止应用服务器对于提高开发效率是一个不小的障碍。特别是当使用如Apache Tomcat这样的应用服务器时,每次修改...

    CentOS7下配置java环境及安装tomcat9.docx

    5. 启动Tomcat服务,使用`/usr/local/tomcat9/bin/startup.sh`命令,检查是否正常启动。 至此,CentOS7上配置Java环境及安装Tomcat9的基本过程已完成。这个过程中,理解JDK和OpenJDK的差异,以及正确卸载旧版本Java...

    Java web项目启动Tomcat报错解决方案

    Java web项目启动Tomcat报错解决方案 Java web项目启动Tomcat报错解决方案是Java web开发中常见的问题之一。当用户在 Eclipse 或其他 IDE 中启动 Tomcat 服务器时,可能会遇到 "A Java Exception has occurred" 的...

    Tomcat与Java.Web开发技术详解源代码

    3. 部署与测试:将项目打包为WAR文件,放入Tomcat的webapps目录下,启动Tomcat即可访问应用。 4. 错误处理和日志记录:使用异常处理机制,配置日志框架(如Log4j、SLF4J)进行日志记录。 六、源代码分析 "Tomcat与...

    java嵌入式tomcat

    4. **编写Java代码** 创建一个Java类,该类负责初始化和启动Tomcat服务器。这通常涉及到以下几个步骤: - 实例化`org.apache.catalina.startup.Tomcat`对象。 - 设置Tomcat的工作目录(`baseDir`),这通常是存放...

    Tomcat启动调试功能

    Tomcat启动调试功能是一种非常实用的功能,它允许开发者在Tomcat服务器上调试Java应用程序。该功能可以帮助开发者快速地查找和修复程序中的错误,从而提高开发效率。 什么是Tomcat启动调试功能? Tomcat启动调试...

    Eclipse无插件启动tomcat可调试

    以下是一种方法来实现这一目标,这将帮助你理解如何在Eclipse中无插件启动Tomcat并进行调试。 首先,确保你已经在Eclipse环境中配置了Tomcat服务器。这通常涉及到以下几个步骤: 1. **下载与JDK兼容的Tomcat版本**...

    java+tomcat环境

    【Java+Tomcat环境配置详解】 ...通过配置JDK和Tomcat,我们可以创建、编译Java代码,同时利用Tomcat部署和运行Web应用程序,如OpenCMS。这为开发者提供了一个基础的工作平台,便于进行相关项目的实践和学习。

Global site tag (gtag.js) - Google Analytics