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.AvailablePort
protected 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.Properties
protected static Properties loadGemFireProperties(URL url)
url
- the URL to the gemfire.properties to load.URL
public 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)
,
Properties
protected Properties getDistributedSystemProperties(Properties defaults)
defaults
- default GemFire Distributed System properties as configured in the Builder.Properties
protected 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()