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 服务器来发布 Web 应用程序是一种常见的做法。下面,我们将详细介绍如何使用 Java 代码来启动 Tomcat 服务器,并实现远程控制 Tomcat。 标题: Java 代码启动 ...
#### 三、编写Java代码启动Tomcat 接下来,我们将通过Java代码来调用命令行启动Tomcat。这里提供一种简单的实现方式——利用`ProcessBuilder`类。 ```java import java.io.IOException; import java.util....
在部分内容中,我们可以看到使用 Java 程序来监听 Tomcat 服务器的状态,并在 Tomcat 无响应时自动重启 Tomcat 的实现思路。 监听 Tomcat 服务器状态 在 Java 程序中,我们使用定时访问服务器端固定的 JSP 页面...
本文将深入探讨“java缓存代码,tomcat JVM配置”这一主题,包括Java缓存的实现方法以及如何对Tomcat服务器进行JVM配置和连接池设定,以提升系统效率。 首先,我们来看Java缓存代码。在Java中,缓存是一种常见的...
- 标签中的“源码”可能指的是Java项目的源代码,开发者可以查看和修改这些代码来实现特定功能。 - “工具”可能包括IDE(如Eclipse, IntelliJ IDEA)、构建工具(如Maven, Gradle)、版本控制系统(如Git)等,...
1. **启动与配置**:在Java代码中,通过`org.apache.catalina.startup.Tomcat`类来初始化和启动Tomcat服务器。开发者可以设置端口号、上下文路径、Web应用的根目录等参数。 2. **Web应用目录结构**:标准的Web应用...
这可能涉及调用操作系统级别的命令来停止和启动Tomcat服务,或者利用Tomcat自身的管理API来实现平滑重启。 4. **报警机制**:当程序挂掉并自动重启时,监控程序应具备发送报警的能力。这通常通过集成短信服务提供商...
1. **启动Tomcat的JMX代理**: 在Tomcat的`conf/server.xml`配置文件中,打开JMX Remote的设置。在`<Server>`元素内添加如下配置: ```xml ... ... ``` 并在`$CATALINA_HOME/bin/catalina.sh`(或...
如果不想以服务方式运行,但仍然想在命令行启动Tomcat而不显示窗口,可以在启动命令后添加`-startup`参数,例如:`startup.bat -startup`。这将在后台启动Tomcat,但仅适用于手动启动,不适合自动启动或远程操作。 ...
JSP则是Servlet的一种视图表示技术,允许开发者使用HTML语法来编写页面,同时嵌入Java代码来实现动态内容生成。JSP最终会被编译成Servlet,由Tomcat执行。 本书可能涵盖了以下知识点: 1. **Tomcat安装与配置**:...
当你启动这个Tomcat服务器实例时,Eclipse会自动使用插件提供的功能来启动Tomcat,并监听调试端口。在代码中设置断点,然后开始调试,当程序执行到断点处,Eclipse会暂停,此时你可以查看变量值、单步执行、或者修改...
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
### 修改Java代码及JS无需重启Tomcat的知识点详解 #### 一、背景介绍 在软件开发过程中,频繁地启动和停止应用服务器对于提高开发效率是一个不小的障碍。特别是当使用如Apache Tomcat这样的应用服务器时,每次修改...
5. 启动Tomcat服务,使用`/usr/local/tomcat9/bin/startup.sh`命令,检查是否正常启动。 至此,CentOS7上配置Java环境及安装Tomcat9的基本过程已完成。这个过程中,理解JDK和OpenJDK的差异,以及正确卸载旧版本Java...
Java web项目启动Tomcat报错解决方案 Java web项目启动Tomcat报错解决方案是Java web开发中常见的问题之一。当用户在 Eclipse 或其他 IDE 中启动 Tomcat 服务器时,可能会遇到 "A Java Exception has occurred" 的...
3. 部署与测试:将项目打包为WAR文件,放入Tomcat的webapps目录下,启动Tomcat即可访问应用。 4. 错误处理和日志记录:使用异常处理机制,配置日志框架(如Log4j、SLF4J)进行日志记录。 六、源代码分析 "Tomcat与...
4. **编写Java代码** 创建一个Java类,该类负责初始化和启动Tomcat服务器。这通常涉及到以下几个步骤: - 实例化`org.apache.catalina.startup.Tomcat`对象。 - 设置Tomcat的工作目录(`baseDir`),这通常是存放...
Tomcat启动调试功能是一种非常实用的功能,它允许开发者在Tomcat服务器上调试Java应用程序。该功能可以帮助开发者快速地查找和修复程序中的错误,从而提高开发效率。 什么是Tomcat启动调试功能? Tomcat启动调试...
以下是一种方法来实现这一目标,这将帮助你理解如何在Eclipse中无插件启动Tomcat并进行调试。 首先,确保你已经在Eclipse环境中配置了Tomcat服务器。这通常涉及到以下几个步骤: 1. **下载与JDK兼容的Tomcat版本**...
【Java+Tomcat环境配置详解】 ...通过配置JDK和Tomcat,我们可以创建、编译Java代码,同时利用Tomcat部署和运行Web应用程序,如OpenCMS。这为开发者提供了一个基础的工作平台,便于进行相关项目的实践和学习。