activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dejan Bosanac" <de...@nighttale.net>
Subject Re: Gentoo Init Scripts
Date Thu, 15 Jan 2009 18:26:02 GMT
It would be great if you could post this info somewhere in the ActiveMQ
wiki. Maybe on this page http://activemq.apache.org/unix-service.html

I wonder if we should prepare ActiveMQ distributions for easier installation
and use with various Linux distros e.g Gentoo (portage), Ubuntu/Debian
(APT), RH (Yum) and so on?

I'd be beautiful if users could do

sudo apt-get install activemq

or

emerge activemq

and have it ready for use

Cheers
--
Dejan Bosanac

Open Source Integration - http://fusesource.com/
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Thu, Jan 15, 2009 at 7:10 PM, Lance Hendrix <activemq@lancehendrix.com>wrote:

> I have not found information on the net for how to make ActiveMQ work as a
> daemon managed by the startup/init system for Gentoo, so I have had to
> create my own.  Hopefully posting this information to this DL will enable
> others to find this information.  I will also try to get this information
> posted elsewhere on the net, but feel free to use/post/re-use this
> information as you see fit.
>
> ------------------------------------------------------------------
>
> In order to get ActiveMQ to run as a daemon and be managed by the init
> system on Gentoo, you will need to create two files.  The first is the
> /etc/init.d/activemq which is the startup script as you would expect.  The
> second is the /etc/conf.d/activemq configuration file, which (in case you
> are not familiar with Gentoo's startup system) is sourced by the init system
> when starting a script.  Essentially, when Gentoo gets a request to start an
> init script, it checks in the /etc/conf.d directory for a file with the same
> name as the init script and if found, "sources" that file.  As a result, the
> "Gentoo way" is to place most, if not all configuration into these "conf"
> files in the conf.d directory.
>
> This script is relatively simple and meets my needs, enabling starting,
> stopping, and restarting (automagically handled by the init system, which
> recognizes that if you have a "start" and a "stop" that it can chain them
> together to get a restart).  The system also seems to do a good job of
> managing the "pid" files and knowing when it has and has not been started.
>  The commands and java config were taken from the activemq-admin script that
> is supplied with activemq.  I have not tested the debug configuration and
> could probably be a little more cleaver than requiring one to
> uncomment/comment out the configuration, but perhaps someone will take this
> simple start and build upon it?
>
> If you have any questions or comments on these, please feel free to respond
> back to the DL; however, please also copy me directly if you would like me
> to respond.  Enjoy!
>
> I left the Gentoo copyright statements (GNU flavor) as this was essentially
> re-used from their framework.  I also borrowed heavily from the Gentoo
> startup scripts provided with the Tomcat project which demonstrated how to
> get the init system start and properly recognize java.  As a result I take
> little credit for this work instead owing to the maintainers of the Gentoo
> Tomcat package for their ingenuity and hard work.
>
> The files:
>
> /etc/init.d/activemq
> -------------------------------------------------------------------------
> #!/sbin/runscript
> # Copyright 1999-2004 Gentoo Foundation
> # Distributed under the terms of the GNU General Public License v2
>
> depend() {
>       use net
> }
>
> start() {
>       ebegin "Starting ActiveMQ $1"
>       start-stop-daemon --start --background --make-pidfile --pidfile
> ${PIDFILE} --exec ${JAVA_HOME}/bin/java -- ${JAVA_OPTS} start >> ${OUTFILE}
>  2>&1
>       eend $?
> }
>
> stop()  {
>       ebegin "Stopping ActiveMQ $1"
>       start-stop-daemon --stop --pidfile ${PIDFILE} --exec
> ${JAVA_HOME}/bin/java -- ${JAVA_OPTS} stop
>       eend $?
> }
> -------------------------------------------------------------------------
>
> /etc/conf.d/activemq
> -------------------------------------------------------------------------
> JAVA_HOME=`java-config --jre-home`
> ACTIVEMQ_HOME="/usr/share/activemq"
> ACTIVEMQ_BASE="/usr/share/activemq"
> ACTIVEMQ_CLASSPATH="${ACTIVEMQ_BASE}/conf;"$ACTIVEMQ_CLASSPATH
> ACTIVEMQ_OPTS="-Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true"
> PIDFILE="/var/run/activemq.pid"
> OUTFILE="/var/log/activemq.out"
> # Uncomment to enable remote debugging
> #ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE
> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
>
> JAVA_OPTS="$ACTIVEMQ_DEBUG_OPTS $ACTIVEMQ_OPTS
> -Dactivemq.classpath=${ACTIVEMQ_CLASSPATH} -Dactivemq.home=${ACTIVEMQ_HOME}
> -Dactivemq.base=${ACTIVEMQ_BASE} -jar ${ACTIVEMQ_HOME}/bin/run.jar"
> --------------------------------------------------------------------------
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message