|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opends.server.tools.ConfigureWindowsService
public class ConfigureWindowsService
This class is used to configure the Windows service for this instance on this machine. This tool allows to enable and disable OpenDS to run as a Windows service and allows to know if OpenDS is running as a Windows service or not. Some comments about Vista: In Vista, when we launch the subcommands that require administrator privileges (enable, disable and cleanup) we cannot use the administrator launcher binary directly from Java (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6410605) so we use winlauncher.exe. When we launch subcommands that required administrator privileges we must launch a binary containing the manifest that specifies that we require administrator privileges (requireAdministrator value): if UAC is enabled, the user will be asked for confirmation. To minimize the number of confirmation that the user must provide when launching the state subcommand we will use a binary whose manifest does not contain the requireAdministrator value. See the files under src/build-tools/windows for more details.
Field Summary | |
---|---|
static java.lang.String |
LAUNCHER_OPTION
Option to be used when calling the launchers. |
static int |
SERVICE_ALREADY_DISABLED
The service was already disabled. |
static int |
SERVICE_ALREADY_ENABLED
The service was already enabled. |
static int |
SERVICE_CLEANUP_ERROR
An error occurred cleaning up the service. |
static int |
SERVICE_CLEANUP_MARKED_FOR_DELETION
The service is marked for deletion. |
static int |
SERVICE_CLEANUP_SUCCESS
The service cleanup worked. |
static int |
SERVICE_DISABLE_ERROR
An error occurred disabling the service. |
static int |
SERVICE_DISABLE_SUCCESS
The service was successfully disabled. |
static int |
SERVICE_ENABLE_ERROR
An error occurred enabling the service. |
static int |
SERVICE_ENABLE_SUCCESS
The service was successfully enabled. |
static int |
SERVICE_MARKED_FOR_DELETION
The service is marked for deletion. |
static int |
SERVICE_NAME_ALREADY_IN_USE
The service name was already in use. |
static int |
SERVICE_NOT_FOUND
The service could not be found. |
static int |
SERVICE_STATE_DISABLED
The service is disabled. |
static int |
SERVICE_STATE_ENABLED
The service is enabled. |
static int |
SERVICE_STATE_ERROR
An error occurred checking the service state. |
Constructor Summary | |
---|---|
ConfigureWindowsService()
|
Method Summary | |
---|---|
static int |
cleanupService(java.lang.String serviceName,
java.io.PrintStream out,
java.io.PrintStream err)
Cleans up a service for a given service name. |
static int |
configureWindowsService(java.lang.String[] args,
java.io.OutputStream outStream,
java.io.OutputStream errStream)
Configures the Windows service for this instance on this machine. |
static int |
disableService(java.io.PrintStream out,
java.io.PrintStream err)
Disables OpenDS to run as a windows service. |
static int |
enableService(java.io.PrintStream out,
java.io.PrintStream err)
Enables OpenDS to run as a windows service. |
static java.lang.String |
getLauncherAdministratorBinaryFullPath()
Returns the full path of the executable that has a manifest requiring administrator privileges used by this class to perform operations related to the service. |
static java.lang.String |
getLauncherBinaryFullPath()
Returns the full path of the executable that has a manifest requiring administrator privileges used by this class to perform operations related to the service. |
static void |
main(java.lang.String[] args)
Configures the Windows service for this instance on this machine. |
static int |
serviceState(java.io.PrintStream out,
java.io.PrintStream err)
Checks if OpenDS is enabled as a windows service and if it is write the serviceName in the output stream (if it is not null). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String LAUNCHER_OPTION
public static final int SERVICE_ENABLE_SUCCESS
public static final int SERVICE_ALREADY_ENABLED
public static final int SERVICE_NAME_ALREADY_IN_USE
public static final int SERVICE_ENABLE_ERROR
public static final int SERVICE_DISABLE_SUCCESS
public static final int SERVICE_ALREADY_DISABLED
public static final int SERVICE_MARKED_FOR_DELETION
public static final int SERVICE_DISABLE_ERROR
public static final int SERVICE_STATE_ENABLED
public static final int SERVICE_STATE_DISABLED
public static final int SERVICE_STATE_ERROR
public static final int SERVICE_CLEANUP_SUCCESS
public static final int SERVICE_NOT_FOUND
public static final int SERVICE_CLEANUP_ERROR
public static final int SERVICE_CLEANUP_MARKED_FOR_DELETION
Constructor Detail |
---|
public ConfigureWindowsService()
Method Detail |
---|
public static void main(java.lang.String[] args)
args
- The command-line arguments provided to this program.public static int configureWindowsService(java.lang.String[] args, java.io.OutputStream outStream, java.io.OutputStream errStream)
args
- The command-line arguments provided to this program.outStream
- the stream used to write the standard output.errStream
- the stream used to write the error output.
public static int enableService(java.io.PrintStream out, java.io.PrintStream err)
out
- the stream used to write the standard output.err
- the stream used to write the error output.
SERVICE_ENABLE_SUCCESS
,
SERVICE_ENABLE_ERROR
,
SERVICE_NAME_ALREADY_IN_USE
or
SERVICE_ALREADY_ENABLED
depending on whether the service could
be enabled or not.public static int disableService(java.io.PrintStream out, java.io.PrintStream err)
out
- the stream used to write the standard output.err
- the stream used to write the error output.
SERVICE_DISABLE_SUCCESS
,
SERVICE_DISABLE_ERROR
,
SERVICE_MARKED_FOR_DELETION
or
SERVICE_ALREADY_DISABLED
depending on whether the service
could be disabled or not.public static int cleanupService(java.lang.String serviceName, java.io.PrintStream out, java.io.PrintStream err)
serviceName
- the service name to be cleaned up.out
- the stream used to write the standard output.err
- the stream used to write the error output.
SERVICE_CLEANUP_SUCCESS
,
SERVICE_NOT_FOUND
,
SERVICE_MARKED_FOR_DELETION
or
SERVICE_CLEANUP_ERROR
depending on whether the service
could be found or not.public static int serviceState(java.io.PrintStream out, java.io.PrintStream err)
out
- the stream used to write the standard output.err
- the stream used to write the error output.
SERVICE_STATE_ENABLED
,
SERVICE_STATE_DISABLED
or SERVICE_STATE_ERROR
depending on the state of the service.public static java.lang.String getLauncherAdministratorBinaryFullPath()
public static java.lang.String getLauncherBinaryFullPath()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |