1 votes

GlassFish sur CentOS 7 (systemd) - "asadmin restart-domain" ne fonctionne pas comme prévu

J'utilise le systemd script suivant pour GlassFish 4 sur CentOS 7 :

[Unit]
Description = GlassFish Server v4.1
After = syslog.target network.target

[Service]
User=glassfish
ExecStart = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /home/glassfish/glassfish4/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking

[Install]
WantedBy = multi-user.target

La question que lorsque vous exécutez la commande "asadmin restart-domain" via l'application web elle-même ou via NetBeans IDE, ou via la page d'administration web de GlassFish => Server => Restart - tous les processus de GlassFish sont arrêtés et personne ne peut relancer GlassFish.

Dans CentOS 6 avec l'original GlassFish script (SysV) - tout fonctionne bien.

Une idée pour réparer ça ?

Edit 1 :

1) état du processus après un redémarrage raté

# systemctl status glassfish
 glassfish.service - GlassFish Server v4.1.2
    Loaded: loaded (/etc/systemd/system/glassfish.service; enabled; vendor preset: disabled)
    Active: inactive (dead) since Thu 2017-05-25 02:25:46 CDT; 11s ago
  Process: 13465 ExecStop=/usr/bin/java -jar /local/glassfish4/glassfish/lib/client/appserver-cli.jar stop-domain (code=exited, status=0/SUCCESS)
  Process: 13338 ExecStart=/usr/bin/java -jar /local/glassfish4/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUCCESS)
 Main PID: 13351 (code=exited, status=0/SUCCESS)

May 25 02:25:24 dev3.local systemd[1]: Starting GlassFish Server v4.1.2...
May 25 02:25:28 dev3.local java[13338]: Waiting for domain1 to start ....
May 25 02:25:28 dev3.local java[13338]: Successfully started the domain : domain1
May 25 02:25:28 dev3.local java[13338]: domain  Location: /local/glassfish4/glassfish/domains/domain1
May 25 02:25:28 dev3.local java[13338]: Log File: /local/glassfish4/glassfish/domains/domain1/logs/server.log
May 25 02:25:28 dev3.local java[13338]: Admin Port: 4848
May 25 02:25:28 dev3.local java[13338]: Command start-domain executed successfully.
May 25 02:25:29 dev3.local systemd[1]: Started GlassFish Server v4.1.2.
May 25 02:25:46 dev3.local java[13465]: CLI306: Warning - The server located at /local/glassfish4/glassfish/domains/domain1 is not running.
May 25 02:25:46 dev3.local java[13465]: Command stop-domain executed successfully.

2) état du processus après l'échec du redémarrage (ayant RestartForceExitStatus=SIGUSR1 dans le fichier de configuration de systemd)

#systemctl status glassfish
 glassfish.service - GlassFish Server v4.1.2
    Loaded: loaded (/etc/systemd/system/glassfish.service; enabled; vendor preset: disabled)
    Active: failed (Result: exit-code) since Thu 2017-05-25 02:15:16 CDT; 15s ago
  Process: 12994 ExecStop=/usr/bin/java -jar /local/glassfish4/glassfish/lib/client/appserver-cli.jar stop-domain (code=exited, status=0/SUCCESS)
  Process: 12859 ExecStart=/usr/bin/java -jar /local/glassfish4/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUCCESS)
 Main PID: 12872 (code=exited, status=12)

May 25 02:13:36 dev3.local java[12859]: domain  Location: /local/glassfish4/glassfish/domains/domain1
May 25 02:13:36 dev3.local java[12859]: Log File: /local/glassfish4/glassfish/domains/domain1/logs/server.log
May 25 02:13:36 dev3.local java[12859]: Admin Port: 4848
May 25 02:13:36 dev3.local java[12859]: Command start-domain executed successfully.
May 25 02:13:37 dev3.local systemd[1]: Started GlassFish Server v4.1.2.
May 25 02:15:15 dev3.local systemd[1]: glassfish.service: main process exited, code=exited, status=12/n/a
May 25 02:15:16 dev3.local java[12994]: CLI306: Warning - The server located at /local/glassfish4/glassfish/domains/domain1 is not running.
May 25 02:15:16 dev3.local java[12994]: Command stop-domain executed successfully.
May 25 02:15:16 dev3.local systemd[1]: Unit glassfish.service entered failed state.
May 25 02:15:16 dev3.local systemd[1]: glassfish.service failed.

1voto

enchaslo Points 11

Il faut ajouter à la section [Service] Restart=on-failure

0voto

Charkz Points 3649

Je pense que ce qu'il fait, c'est qu'il envoie un SIGUSR1 au processus glassfish qui, par défaut, s'éteint. J'essaierais d'ajouter RestartForceExitStatus=SIGUSR1 au service et voir si ça aide.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X