public abstract class AbstractLauncher<T extends Comparable<T>> extends Object implements Runnable
Comparable,
Runnable,
Identifiable| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractLauncher.ServiceState<T extends Comparable<T>>
The ServiceState is an immutable type representing the state of the specified Locator at any
given moment in time.
|
static class |
AbstractLauncher.Status
The Status enumerated type represents the various lifecycle states of a GemFire service (such
as a Cache Server, a Locator or a Manager).
|
| Modifier and Type | Field and Description |
|---|---|
protected static Boolean |
DEFAULT_FORCE |
static String |
DEFAULT_WORKING_DIRECTORY |
protected Logger |
logger
Deprecated.
Please use Log4J 2 instead.
|
static String |
MEMBER_NAME_ERROR_MESSAGE |
protected static String |
OPTION_PREFIX |
protected static long |
READ_PID_FILE_TIMEOUT_MILLIS
Deprecated.
This timeout is no longer needed.
|
protected AtomicBoolean |
running |
static String |
SIGNAL_HANDLER_REGISTRATION_SYSTEM_PROPERTY |
static String |
WORKING_DIRECTORY_NOT_FOUND_ERROR_MESSAGE |
static String |
WORKING_DIRECTORY_OPTION_NOT_VALID_ERROR_MESSAGE |
| Constructor and Description |
|---|
AbstractLauncher() |
| Modifier and Type | Method and Description |
|---|---|
protected static void |
assertPortAvailable(InetAddress bindAddress,
int port)
Asserts that the specified port is available on the specified network interface, indicated by
it's assigned IP address, on this local system.
|
protected static void |
assertPortAvailable(int port)
Asserts that the specified port is available on all network interfaces on this local system.
|
protected void |
debug(String message,
Object... args)
Prints the specified debug message to standard err, replacing any placeholder values with the
specified arguments on output, if debugging has been enabled.
|
protected void |
debug(Throwable t)
Prints the stack trace of the given Throwable to standard err if debugging has been enabled.
|
protected Properties |
getDistributedSystemProperties()
Creates a Properties object with configuration settings that the launcher has that should take
precedence over anything the user has defined in their gemfire properties file.
|
protected Properties |
getDistributedSystemProperties(Properties defaults)
Creates a Properties object with configuration settings that the launcher has that should take
precedence over anything the user has defined in their gemfire properties file.
|
protected File |
getLogFile()
Gets a File reference with the path to the log file for the process.
|
protected String |
getLogFileCanonicalPath()
Gets the fully qualified canonical path of the log file for the process.
|
abstract String |
getLogFileName()
Gets the name of the log file used to log information about this GemFire service.
|
String |
getMember()
Gets the name or ID of the member in the GemFire distributed system.
|
String |
getMemberId()
Gets the ID of the member in the GemFire distributed system as determined and assigned by
GemFire when the member process joins the distributed system.
|
String |
getMemberName()
Gets the name of the member in the GemFire distributed system as determined by the 'name'
GemFire property.
|
abstract Integer |
getPid()
Gets the user-specified process ID (PID) of the running GemFire service that AbstractLauncher
implementations can use to determine status, or stop the service.
|
abstract String |
getServiceName()
Gets the name of the GemFire service.
|
String |
getWorkingDirectory()
Gets the working directory pathname in which the process will be run.
|
protected void |
info(Object message,
Object... args)
Prints the specified informational message to standard err, replacing any placeholder values
with the specified arguments on output.
|
boolean |
isDebugging()
Determines whether the Locator launcher is in debug mode.
|
boolean |
isRunning()
Determines whether the Locator referenced by this launcher is running.
|
protected static boolean |
isSet(Properties properties,
String propertyName)
Determines whether the specified property with name is set to a value in the referenced
Properties.
|
protected static Properties |
loadGemFireProperties(URL url)
Loads the GemFire properties at the specified URL.
|
protected void |
redirectOutput(DistributedSystem distributedSystem)
Redirects the standard out and standard err to the configured log file as specified in the
GemFire distributed system properties.
|
void |
setDebug(boolean debug)
Sets the debug mode of the GemFire launcher class.
|
String |
version()
Gets the version of GemFire currently running.
|
public static final String MEMBER_NAME_ERROR_MESSAGE
public static final String WORKING_DIRECTORY_OPTION_NOT_VALID_ERROR_MESSAGE
public static final String WORKING_DIRECTORY_NOT_FOUND_ERROR_MESSAGE
@Immutable protected static final Boolean DEFAULT_FORCE
@Deprecated protected static final long READ_PID_FILE_TIMEOUT_MILLIS
public static final String DEFAULT_WORKING_DIRECTORY
public static final String SIGNAL_HANDLER_REGISTRATION_SYSTEM_PROPERTY
protected static final String OPTION_PREFIX
protected final transient AtomicBoolean running
@Deprecated protected Logger logger
protected static void assertPortAvailable(int port)
throws BindException
port - an integer indicating the network port to listen for client network requests.BindException - if the network port is not available.protected static void assertPortAvailable(InetAddress bindAddress, int port) throws BindException
bindAddress - an InetAddress indicating the bounded network interface to determine whether
the service port is available or not.port - an integer indicating the network port to listen for client network requests.BindException - if the network address and port are not available. Address defaults to
localhost (or all network interfaces on the local system) if null.AvailablePortprotected static boolean isSet(Properties properties, String propertyName)
properties - the Properties used in determining whether the given property is set.propertyName - a String indicating the name of the property to check if set.Propertiesprotected static Properties loadGemFireProperties(URL url)
url - the URL to the gemfire.properties to load.URLpublic boolean isDebugging()
setDebug(boolean)public void setDebug(boolean debug)
debug - a boolean used to enable or disable debug mode.isDebugging()public boolean isRunning()
protected Properties getDistributedSystemProperties()
getDistributedSystemProperties(java.util.Properties),
Propertiesprotected Properties getDistributedSystemProperties(Properties defaults)
defaults - default GemFire Distributed System properties as configured in the Builder.Propertiesprotected File getLogFile()
protected String getLogFileCanonicalPath()
public abstract String getLogFileName()
public String getMember()
getMemberName(),
getMemberId()public String getMemberId()
public String getMemberName()
public abstract Integer getPid()
public abstract String getServiceName()
public String getWorkingDirectory()
protected void debug(String message, Object... args)
message - the String value written to standard err.args - an Object array containing arguments to replace the placeholder values in the
message.System.err,
isDebugging(),
debug(Throwable),
info(Object, Object...)protected void debug(Throwable t)
t - the Throwable who's stack trace is printed to standard err.System.err,
isDebugging(),
debug(String, Object...)protected void info(Object message, Object... args)
message - the String value written to standard err.args - an Object array containing arguments to replace the placeholder values in the
message.System.err,
debug(String, Object...)protected void redirectOutput(DistributedSystem distributedSystem) throws IOException
distributedSystem - the GemFire model for a distributed system.IOException - if the standard out and err redirection was unsuccessful.public String version()