systemd startup scripts for activemq

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

systemd startup scripts for activemq

francesco
Hi all,

I would like activemq to be started by systemd.

I know about the very good activemq startup scripts in ./bin directory of the downloaded .tar.gz but I am unable to write a good enough /etc/systemd/system/activemq.service.

Can anybody share her own script?

thank you,

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: systemd startup scripts for activemq

francesco

Just as a starting point, this is my first try:

[Unit]
Description=ActiveMQ async message broker
After=network.target

[Service]
PrivateTmp=true
PIDFile=/opt/activemq/data/activemq-gimcrack.pid
Type=forking
Environment=JAVA_HOME=/usr/jvm/lib/latest
ExecStart=/opt/activemq/bin/activemq start

[Install]
WantedBy=multi-user.target

ciao,

Francesco
Reply | Threaded
Open this post in threaded view
|

Re: systemd startup scripts for activemq

francesco
at the very last, this one worked for me:

[Unit]
Description=ActiveMQ async message broker
After=network.target

[Service]
PrivateTmp=true
PIDFile=/opt/activemq/data/activemq-your_server_name.pid
Type=simple
#Environment=JAVA_HOME=/usr/jvm/lib/latest
User=activemq
Group=activemq
ExecStart=/opt/activemq/bin/activemq console

[Install]
WantedBy=multi-user.target
Reply | Threaded
Open this post in threaded view
|

Re: systemd startup scripts for activemq

davidh
I came looking for activemq systemd config file.  I notice the position francesco got to acted as a wrapper round the console, whereas I was keen to get a "forking" version working.

I managed to get the following working - in /etc/systemd/system/activemq.myinstance.service

#####

[Unit]
Description = ActiveMQ
After = syslog.target network.target

[Service]
User=activemq
PIDFile=/usr/local/activemq/myinstance/data/activemq.pid
ExecStart=/usr/local/activemq/myinstance/bin/myinstance start
ExecStop=/usr/local/activemq/myinstance/bin/myinstance stop
ExecReload=/usr/local/activemq/myinstance/bin/myinstance restart
Type = forking

[Install]
WantedBy = multi-user.target

#####

But only after adding a bash header ("#!/bin/bash") to /usr/local/activemq/myinstance/bin/myinstance script - generated from "activemq create myinstance".  Without this header starting gives an "(code=exited, status=203/EXEC)" when running systemctl.