top
This article will show you how to configure Apache Geronimo server to run as a Microsoft Windows service. Currently, there are two options for running the server as a Windows service:
Apache Commons Daemon
Software Prerequisites
Microsoft .NET Framework Version 2.0+. For example, Version 2.0 is available for download at the following URL:
http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en
Installing Apache Commons Daemon
To set up Apache Geronimo server to run as a Microsoft Windows service using Apache Commons Daemon you will need to install the procrun plugin. Use the Administrative Console or deployer tool to install the plugin: name of the plugin is "Windows Service Wrapper".
Using Apache Commons Daemon
Once the plugin is installed you can install Apache Geronimo server as a Windows service by running the following command:
<geronimo_home>\bin\service_pr.bat install
For example:
solidThis will create a Geronimo service for the server with the name "geronimosrv" with default parameters. You can start/stop the Geronimo service using Windows' Services
tool or by using <geronimo_home>\bin\geronimosrvw.exe
tool.
By default the Geronimo service is be configured with "manual" startup type. Use Windows' Services
tool or geronimosrvw.exe
command to configure it to "automatic" if needed.
Default admin account "system" with password "manager" is used to shut down the service. Change this setting with the geronimosrvw.exe tool (in the "Shutdown" tab) if the default admin account is changed.
JAVA_OPTS and GERONIMO_OPTS environment variables are NOT read by the service_pr.bat script. If you need to add any options that shall be used to start/stop the service, you can use the geronimosrvw.exe tool to add them to the command line arguments in the "Startup" and/or "Shutdown" tab. You can also use the geronimosrv.exe command to do that.
For more help on how to use the geronimosrv.exe and geronimosrvw.exe command, refer to Apache Commons Daemon manual.
To remove the Apache Geronimo service run the following command:
<geronimo_home>\bin\service_pr.bat remove
For example:
solidJava Service Wrapper
A Java Service Wrapper will be required as an additional software to achieve this configuration. Using a service wrapper gives you some additional "control" on the service you are configuring such as the ability to ping the service and take action if the service is down.
Software Prerequisites
To set up Apache Geronimo server to run as a Microsoft Windows service you will certainly need a Java Service Wrapper. For this example we used Java Service Wrapper 3.2.3 available for download at the following URL:
http://sourceforge.net/projects/wrapper/
For this example we are also using Apache Geronimo v3.0 running on Windows XP. You can download Apache Geronimo binaries from the following URL:
http://geronimo.apache.org/downloads.html
Installing Apache Geronimo
Follow the normal process for installing Apache Geronimo. Instructions are located at Apache Geronimo Quickstart. Basically extract the zip file to a directory of your convenience. Throughout the rest of the article this directory will be referred to as <geronimo_home>.
Installing the Java Service Wrapper
Follow the instructions for installing Java Service Wrapper. Once you download the right version for your environment you extract the zip file to a directory of your convenience. Throughout the rest of the article this directory will be referred to as <jsw_home>.
For this particular example we will try to locate all the wrapper related files within the Geronimo directory structure, so we will have to copy some files over.
Once you install the wrapper copy these as indicated in the following table.
Source | Destination |
---|---|
| |
| |
| |
In addition, the following files will also be created as part of this configuration process.
<geronimo_home>/bin/g_service.bat
<geronimo_home>/bin/Install_Geronimo_NT.bat
<geronimo_home>/bin/Uninstall_Geronimo_NT.bat
<geronimo_home>/var/config/wrapper.conf
Configuring the Wrapper
The Java Service Wrapper comes with a sample configuration file wrapper.conf pre-configured to run a test script also provided, this file located in the <jsw_home>\conf directory. In this section we provide a Geronimo specific wrapper.conf file for your convenience.
As we are trying to keep all the wrapper files within Geronimo's directory structure, create the configuration file as illustrated in the following example and place it in the <geronimo_home>/var/config directory.
wikiwrapper.conf^wrapper.conf
This service wrapper allows three different methods of integration depending on, among other things, whether you use the same class or not to start and stop the server.
For Geronimo we will use the simplest method of integration as the server can shutdown cleanly when System.exit() is called. For this integration the wrapper's mainclass is set to WrapperSimpleApp
and the org.apache.geronimo.cli.daemon.DaemonCLI
class is specified as the main class to start the server. Right now, no extra parameters are passed to start the server but they can be specified by adding additional wrapper.app.parameter
values. The wrapper will stop the server by calling System.exit().
As we mentioned before, for this example we are trying to locate all the wrapper related files within the Geronimo directory structure. As you can see in the wrapper.conf shown above, most of the directory references are relative to Geronimo's installation directory. You will only have to replace <geronimo_home> and <java_home> with the appropriate settings for your environment.
Next, download and place g_service.bat batch file in the <geronimo_home>/bin directory. This batch file runs the service from the command line without the need of actually installing the service. This is particularly helpful when testing and debugging the configuration.
You can now should be able to run Geronimo as a service from a command line. Simply run the following command:
<geronimo_home>/bin/g_service.bat
You should see a screen similar to the following example, note that part has been truncated for display purposes.
solidCongratulations!!! you have now Geronimo server running as a Windows service.
The next step is to actually install the service so it can be picked up at Windows start time as well as managed along with the other existing services.
Installing/Removing the service
The following two batch files are provided to install and remove Geronimo as a Windows service. Download and place the Install_Geronimo_NT.bat and Uninstall_Geronimo_NT.bat in the <geronimo_home>/bin
directory. Please note that some modifications to the batch files might be necessary.
To install Apache Geronimo as a MS Windows service run the following command:
<geronimo_home>/bin/Install_Geronimo_NT.bat
You should get a confirmation screen similar to this example.
solidTo remove the Apache Geronimo service run the following command:
<geronimo_home>/bin/Uninstall_Geronimo_NT.bat
You should get a confirmation screen similar to this example.
solid