如何有效地在域模式下重启wildfly主机控制器而没有任何风险?

时间:2017-08-16 13:13:21

标签: wildfly wildfly-8 application-restart

我的公司使用wildfly 8.1.0.Final作为中间件,生产系统模式在域中。

出于某种原因,我们必须在自动部署之前重新启动主机控制器。

要解决这个问题,我的同事总是采取两种方式:

  1. 杀死所有java进程,并运行$ wildfly_home / start.sh 通过这种方式,所有进程都会重新启动,但实际上需要很长时间。
  2. 使用cli使用以下命令重启主机控制器:“shutdown --host = master --restart = true”。
    这是自动部署脚本的常用方法,但也需要很长时间。
  3. 然后我想知道如何重新启动主机控制器而不重新启动任何其他进程。

    最后我尝试了一个解决方案:kill -9 $ {host-controller pid}(主机控制器进程终止,进程控制器进程分叉一个新进程取代它。)
    通过这种方式,我成功地重新启动了主机控制器,并且我已经将“--process-restarted”作为它的标志。

    重启前

    502        454   438  0 19:06 pts/0    00:00:05 /opt/jboss/java64/jdk1.7.0_25/bin/java -D[Host Controller] -Dorg.jboss.boot.log.file=/opt/jboss/domain/log/host-controller.log -Dlogging.configuration=file:/opt/jboss/domain/configuration/logging.properties -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -jar /opt/jboss/jboss-modules.jar -mp /opt/jboss/modules org.jboss.as.host-controller -mp /opt/jboss/modules --pc-address 127.0.0.1 --pc-port 43456 -default-jvm /opt/jboss/java64/jdk1.7.0_25/bin/java --backup -Djboss.home.dir=/opt/jboss 
    
      

    kill -9 454

    重启后

    502       1080   438 99 19:16 pts/0    00:00:05 /opt/jboss/java64/jdk1.7.0_25/bin/java -D[Host Controller] -Dorg.jboss.boot.log.file=/opt/jboss/domain/log/host-controller.log -Dlogging.configuration=file:/opt/jboss/domain/configuration/logging.properties -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -jar /opt/jboss/jboss-modules.jar -mp /opt/jboss/modules org.jboss.as.host-controller -mp /opt/jboss/modules --pc-address 127.0.0.1 --pc-port 43456 -default-jvm /opt/jboss/java64/jdk1.7.0_25/bin/java --backup -Djboss.home.dir=/opt/jboss --process-restarted  
    

    我用这种方式已经好几个星期了,似乎运作良好。所以我和我的同事讨论过我们是否可以重写这个重启逻辑以进行部署 但是他们想知道进程控制器是否会无法分叉新的主机控制器。它会发生吗?

    任何人都可以告诉我这种方式是否有风险?

    如果我不能在自动部署脚本中使用它来重启?

0 个答案:

没有答案