-
One Java init script to rule them all
Need an init script for a Java service? Like tomcat, liferay, or jboss? Regular Linux init scripts often don’t work so well. e.g. Java apps typically want to be run by a particular user (e.g. tomcat or liferay). e.g. They may require a ‘special’ shutdown mechanism (e.g. with Tomcat sending a signal to a particular port). So over the years I have had a handy-dandy script that can control most of my most commonly used Java apps (liferay, tomcat, jboss). It does things like start up the app as a particular user. Checks to ensure the app is responding on a URL before saying it is stared. Waits for the app to shutdown gracefully, else forces it to quit. And provides kill and killstart commands when you’re developing and just want the thing restarted! This morning I updated it to use the lsb logging methods. So the output is a bit prettier than the ‘old’ echo’s we used to use. The current version of the file will live at http://proj.ri.mu/javainitscript To use it wget that to the /etc/init.d directory on your server. Then rename (or symlink) it to the service you want to control. Currently the tomcat, liferay and jboss names are supported. Some excerpts from the script follow…