DO NOT modify the value of this property
while an application using the configuration file has been installed as a Windows Service.
Please uninstall the existing service BEFORE modifying this property.
The service with the new value can then be safely reinstalled later.
This property is only used on Windows platforms.
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 the "<n>" component of the property name is 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 Windows 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 on this property will not take effect until the Windows Service is reinstalled.
Some users have expressed confusion about the way
the declared dependencies affect the startup and shutdown of the Wrapper and its dependeWindows Services.
The Wrapper simply registers the dependencies
and the Windows Service Manager is responsible for managing the startup and shutdown of both.
Dependency:
See the following examples:
Initial State: Both services are stopped.
Action: Start DependentApp service.
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 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 WrapperApp service.
Result: The ServiceManager will verify
that the DependentApp service is already running
then start the WrapperApp service.
Initial State: Both services are running.
Action: Stop DependentApp service.
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.