It's all about the answers!

Ask a question

How to auto-start CLM(Jazz) on RHEL7?


Masatoshi Nogo (513) | asked Dec 04 '16, 9:38 p.m.
I tried to search articles but couldn't find. Please help.
I'm struggling to start Jazz on RHEL7 which support systemd.

#1.Status
Followings are what I tried.
1.1.Create new file, named clm.service with following contents
================
[Unit]
Description = CLM Server

[Service]
ExecStart = /opt/IBM/JazzTeamServer/server/server.startup

Restart = always
Type = simple

[Install]
WantedBy = multi-user.target
================
1.2.
As root,
# systemctl enable clm
# systemctl start clm

Then, CLM service started, but could connect from Web browser (login window not shown)
  - Trial of OS reboot resulted same
  - If I type start command manually with root user, CLM started correctly.
       # ./server.startup

#2.Check
I added following lines to the end of server.startup
echo JAVA_OPTS=$JAVA_OPTS > /tmp/test.txt
echo CATALINA_HOME=$CATALINA_HOME >> /tmp/test.txt

As result diff of manual command(./server.startup) and auto-start (systemctl start clm) , environments were same.

One answer



permanent link
Donald Nong (14.3k213) | answered Dec 08 '16, 4:38 a.m.
You should use "Type=forking" in the unit file, as explained in the Red Hat document.
forking – The process started with ExecStart spawns a child process that becomes the main process of the service. The parent process exits when the startup is complete.
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html

So in my environment the unit file will look like this
[Unit]
Description = CLM Server

[Service]
ExecStart = /opt/IBM/JazzTeamServer602/server/server.startup
ExecStop = /opt/IBM/JazzTeamServer602/server/server.shutdown

Restart = always
Type = forking

[Install]
WantedBy = multi-user.target
After the service is started, if you run the command "systemctl status clm", you should see something like below:

clm.service - CLM Server
   Loaded: loaded (/usr/lib/systemd/system/clm.service; enabled)
   Active: active (running) since Thu 2016-12-08 20:30:42 AEDT; 13s ago
  Process: 17891 ExecStart=/opt/IBM/JazzTeamServer602/server/server.startup (code=exited, status=0/SUCCESS)
 Main PID: 17923 (java)
   CGroup: /system.slice/clm.service
           └─17923 /opt/IBM/JazzTeamServer602/server/jre/bin/java -javaagent:/opt/IBM/JazzTeamServer602/server/liberty/wlp/bin/tools/ws-javaagent.jar -Djava.awt.headless=true -XX:MaxPermSize=256m -Djazz.connector.sslEnabledProtocols=...

Dec 08 20:29:46 clm.jkebanking.net systemd[1]: Starting CLM Server...
Dec 08 20:29:48 clm.jkebanking.net server.startup[17891]: 12 08, 2016 8:29:47 午後 com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean <init>
Dec 08 20:29:48 clm.jkebanking.net server.startup[17891]: 情報: Agent version "3.0.7.20160104"
Dec 08 20:29:49 clm.jkebanking.net server.startup[17891]: 12 08, 2016 8:29:49 午後 com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean createJMXConnector
Dec 08 20:29:49 clm.jkebanking.net server.startup[17891]: 情報: IIOP will be listening on the next available system assigned port. Use com.ibm.java.diagnostics.healthcenter.agent.iiop.port to specify a port
Dec 08 20:29:50 clm.jkebanking.net server.startup[17891]: 12 08, 2016 8:29:50 午後 com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
Dec 08 20:29:50 clm.jkebanking.net server.startup[17891]: 情報: Health Center agent started on port 1972.
Dec 08 20:29:50 clm.jkebanking.net server.startup[17891]: サーバー clm を始動中です。
Dec 08 20:30:41 clm.jkebanking.net server.startup[17891]: サーバー clm がプロセス ID 17923 で始動しました。
Dec 08 20:30:42 clm.jkebanking.net systemd[1]: Started CLM Server.
(Sorry about the Japanese as I didn't spend time to change it, but you should get the idea.

Your answer


Register or to post your answer.