ResourceManager启动和关闭时日志打印

启动日志打印:入口

主要打印:见红色字体处,也就是日志当中的信息

StringUtils.startupShutdownMessage(ResourceManager.class, argv, LOG);

 

/**
* Print a log message for starting up and shutting down
* @param clazz the class of the server
* @param args arguments
* @param LOG the target log object
*/
public static void startupShutdownMessage(Class<?> clazz, String[] args,
                                   final org.apache.commons.logging.Log LOG) {
  startupShutdownMessage(clazz, args, LogAdapter.create(LOG));
}

 

static void startupShutdownMessage(Class<?> clazz, String[] args,
                                   final LogAdapter LOG) {
  final String hostname = NetUtils.getHostname();  // 获取本地主机名
  final String classname = clazz.getSimpleName();  // 获取类名
  LOG.info(
     toStartupShutdownString("STARTUP_MSG: ", new String[] {  // 仅仅格式化代码
          "Starting " + classname,
          "  host = " + hostname,
          "  args = " + Arrays.asList(args),
          "  version = " + VersionInfo.getVersion(),
          "  classpath = " + System.getProperty("java.class.path"),
          "  build = " + VersionInfo.getUrl() + " -r "
                       + VersionInfo.getRevision() 
                       + "; compiled by ‘" + VersionInfo.getUser()
                       + "‘ on " + VersionInfo.getDate(),
          "  java = " + System.getProperty("java.version") }
      )
    );

  if (SystemUtils.IS_OS_UNIX) {
    try {
     SignalLogger.INSTANCE.register(LOG);  //如果为linux,注册一些信号操作
    } catch (Throwable t) {
      LOG.warn("failed to register any UNIX signal loggers: ", t);
    }
  }
  ShutdownHookManager.get().addShutdownHook( //注册钩子,这应该是RM第一个钩子
    new Runnable() {
      @Override
      public void run() {
        LOG.info(toStartupShutdownString("SHUTDOWN_MSG: ", new String[]{
          "Shutting down " + classname + " at " + hostname}));
      }
    }, SHUTDOWN_HOOK_PRIORITY);

}

 

下面单独来看看来,HookManager是怎么来实现,顺序执行并有调度优先级的。JVM默认顺序未指定,还是并行来执行的

ShutdownHookManager

时间: 2024-10-11 12:35:47

ResourceManager启动和关闭时日志打印的相关文章

weblogic启动时日志重定向(nohup.out)

由于weblogic使用  nohup ./startWebLogic.sh &   启动时会将所有日志打印到nohup.out上,长此以往会导致该文件越来越大,不便于管理. 故下面介绍如何重定向该日志: 在startWebLogic.sh 或 startManagedWebLogic.sh文件中 #Start Derby# 这一行的上面增加WLS_REDIRECT_LOG重定向日志文件: WLS_REDIRECT_LOG="/weblogic/domain/base_domain/lo

oracle在windows下的批处理(启动与关闭)

启动: @echo offnet start OracleOraDb10g_home1TNSListenernet start OracleServiceORCLSIDnet start OracleDBConsoleorclsid 关闭: @echo offnet stop OracleDBConsoleorclsidnet stop OracleServiceORCLSIDnet stop OracleOraDb10g_home1TNSListener 本机开发时只需启动这3个服务即可.监听

eclipse启动gc日志打印

在eclipse根目录下的eclipse.ini配置文件中添加以下参数: -verbose:gc (开启打印垃圾回收日志) -Xloggc:eclipse_gc.log (设置垃圾回收日志打印的文件,文件名称可以自定义) -XX:+PrintGCTimeStamps (打印垃圾回收时间信息时的时间格式) -XX:+PrintGCDetails (打印垃圾回收详情) GC一般为堆空间某个区发生了垃圾回收, Full GC基本都是整个堆空间及持久代发生了垃圾回收,通常优化的目标之一是尽量减少GC和F

如何启动JDBC Debug模式,打印JDBC诊断日志

1.下载Debug版本jar包 首先要下载一个Debug版本的JDBC jar包,Debug版本的jar包命名形式为jdbcX_g.jar(如下图所示),如Oracle11g的Debug版本的jar包为jdbc6_g.jar.点击这里下载:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 2.启动Logging模式 第一种方式:设置运行环境变量java -Doracle.jd

Oracle启动和关闭

1 数据库启动 1.1 需要的权限 SYSDBA或者SYSOPER系统权限. 1.2 启动的方法 SQL*Plus STARTUP command Oracle Enterprise Manager (Enterprise Manager) SRVCTL utility 1.3 启动的过程 启动主要分为三个步骤: 1)启动数据库到Nomount状态 2)启动数据库到Mount状态 3)启动数据库到Open状态 1.3.1 启动到Nomount Nomount的过程实质上是创建数据库实例的过程.这

相克军_Oracle体系_随堂笔记016-参数文件及数据库的启动和关闭

参数文件: spfile<SID>.ora    动态参数文件,是二进制文件,9i以后引入并建议使用 init<SID>.ora    静态参数文件,是文本文件 动态参数,部分参数可以动态修改.建议9i以后就使用spfile. 数据库启动三个阶段: nomount(根据参数文件配置参数启动实例) mount(根据参数文件中记录的控制文件位置打开控制文件) open(根据控制文件信息打开数据文件,redo日志文件,open数据库) 注:nomount之前就可以根据pfile创建spf

MySQL 数据库的启动与关闭

MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆.通常启动mysql服务器即是启动mysqld进程,mysqld启动后,可以通过mysql连接到mysql服务器.本文主要描述了mysql服务器的几种启动方式以及如何关闭mysql服务器. 1.直接使用mysqld启动   mysqld 即是mysql服务器,可以调用该命令直接启动mysql服务器  mysqld 从配置文件中读取[mysqld]以及[server]选项组的内容,也可

Oracle 数据库启动与关闭 各种方式详解整理

概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库. 在oracle用户下: 启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop 查询监听程序状态lsnrctl status startup 支持参数 STARTUP options | upgrade_options optio

Oracle——数据库启动与关闭

本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解.比如,何种情况应该使用何种数据库加载模式,以及数据库文件打开模式. 服务器环境 Windows 2003 R2 Oracle11g 32位 客户端环境 Windows 2008R2 Oracle 11g 32位客户端 概述 若用 startup 命令启动数据库,执行的操作要经历三个不同的阶段: 实例