recherche

Maison  >  Questions et réponses  >  le corps du texte

怎么让一个java程序接收命令后重启

1 一个web程序部署在tomcat程序中,
怎么让程序接受重启命令后重启

高洛峰高洛峰2889 Il y a quelques jours514

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师2017-04-18 09:31:42

    Vous pouvez créer un service d'interface indépendant et exécuter un script de démarrage et d'arrêt, afin d'obtenir l'effet souhaité

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 09:31:42

    Utilisez directement Java pour appeler la commande système pour redémarrer Tomcat
    Le code est probablement comme ceci :

    public static void runShell(final String cmd) throws IOException, InterruptedException {
            executorService.execute(new Runnable() {
                @Override
                public void run() {
                    try {
                        Runtime run = Runtime.getRuntime();
                        Process p = run.exec(cmd);
                        BufferedInputStream in = new BufferedInputStream(p.getInputStream());
                        BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
                        String lineStr;
                        while ((lineStr = inBr.readLine()) != null) {
                            logger.info(lineStr);// 打印输出信息
                        }
    
                        //检查命令是否执行失败。
                        if (p.waitFor() != 0) {
                            if (p.exitValue() == 1) {// 0表示正常结束,1:非正常结束
                                logger.error(cmd + "命令执行失败!");
                            }
                        }
                        inBr.close();
                        in.close();
                    } catch (Exception e) {
                        logger.error("调用系统命令失败!", e);
                    }
                }
            });
    
        }

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-18 09:31:42

    Redémarrer le programme Web n'est rien d'autre que terminer le processus, exécuter la fonction de sortie du système 4, puis exécuter la méthode principale pour démarrer le conteneur. Ce programme doit être indépendant

    .

    répondre
    0
  • Annulerrépondre