Names of any other Services or groups which must be running before
this service can be started. Stopping any of the listed services,
or all members of a specified group, will also stop this service.
Because both services and groups share the same name space, group
names must be prefixed with the '+' character. Each dependency
has a property name which starts
with wrapper.ntservice.dependency.
and ends with an integer number counting up from 1. By default,
there can be no missing numbers. The
wrapper.ignore_sequence_gaps
property can optionally be set to allow gaps in the sequence.
Example:
wrapper.ntservice.dependency.1=MySQL
There is a known problem with dependency ordering when shutting
down or restarting the machine. For some reason, the Windows
Service Manager completely ignores the dependency tree and tells
all services to shutdown simultaneously. Depending on which
service gets the signal first, this can result in the services
being shutdown in a random order. This is a known problem with
all NT services and is not specific to the Java Service Wrapper.
Unfortunately there does not appear to be any way for the Wrapper
to work around this.
NOTE
Changes to this property will not take effect until the service
is reinstalled.
Some users have expressed confusion about the way the declared
dependencies affect the startup and shutdown of the Wrapper and
its dependent services. The Wrapper simply registers the
dependencies and the Windows Service Manager is responsible
for managing the startup and shutdown of both.
See the following examples:
Initial State: Both services are stopped.
Action: Start DependentApp.
Result: Only the DependentApp service will be started
because it does not depend on the WrapperApp service.
Initial State: Both services are stopped.
Action: Start the WrapperApp service.
Result: Because the WrapperApp service depends on the
DependentApp service, The DependentApp service
will be started first, then the WrapperApp service will be started.
Initial State: DependentApp is running. WrapperApp is stopped.
Action: Start the WrapperApp service.
Result: The ServiceManager will verify that the DependentApp
is already running then start the WrapperApp service.
Initial State: Both services are running.
Action: Stop DependentApp.
Result: The ServiceManager notes that WrapperApp depends on the
DependentApp service, so it first stops the WrapperApp service,
Then stops the DependentApp service.
Initial State: Both services are running.
Action: Stop WrapperApp service.
Result: The ServiceManager notes that nothing depends on the WrapperApp
service. So only the WrapperApp service is stopped.
User Comments
If you notice something that is incorrect, missing, or simply feel that some part of this page could be explained better, feel free to log in and add a comment. You will need to register before you can log on.