|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.bigdata.jini.start.config.ServiceConfiguration
public abstract class ServiceConfiguration
A service configuration specifies the target #of services for each type of service, its target replication count, command line arguments, parameters used to configure new instances of the service, etc.
| Nested Class Summary | |
|---|---|
class |
ServiceConfiguration.AbstractServiceStarter<V extends ProcessHelper>
A task that will (re-)start an instance of a service described by its ServiceConfiguration. |
static interface |
ServiceConfiguration.Options
Options understood by ServiceConfiguration. |
| Field Summary | |
|---|---|
String[] |
args
Command line arguments for the executable (placed immediately after the command to be executed). |
String |
className
The name of the server class to be executed (or a token used for servers that are not started directly by invoking a JVM, such as "jini"). |
IServiceConstraint[] |
constraints
A set of constraints on where the service may be instantiated. |
protected static org.apache.log4j.Logger |
log
|
String[] |
options
Service options (placed at the end of the command line). |
int |
replicationCount
The target replication count for each service instance (the #of services having the same state and providing failover support for one another). |
int |
serviceCount
The target service instance count. |
File |
serviceDir
The base directory for the persistent state service instances. |
long |
timeout
The timeout in milliseconds for a service instance to start. |
| Constructor Summary | |
|---|---|
ServiceConfiguration(String className,
net.jini.config.Configuration config)
|
|
| Method Summary | ||
|---|---|---|
boolean |
canStartService(JiniFederation fed)
Verify that we could start this service. |
|
boolean |
canStartService(JiniFederation fed,
List<IServiceConstraint> violatedConstraints)
Verify that we could start this service. |
|
static
|
concat(T[] a,
T[] b)
Combines the two arrays, appending the contents of the 2nd array to the contents of the first array. |
|
static String[] |
getArgs(String className,
net.jini.config.Configuration config)
|
|
static String[] |
getClassPath()
Splits the CLASSPATH as reported by System.getProperty(String)
into a String[]. |
|
protected static IServiceConstraint[] |
getConstraints(String className,
net.jini.config.Configuration config)
|
|
protected long |
getDefaultTimeout()
The default used for ServiceConfiguration.Options.TIMEOUT (20000 ms). |
|
static String[] |
getOptions(String className,
net.jini.config.Configuration config)
|
|
static int |
getReplicationCount(String className,
net.jini.config.Configuration config)
|
|
static int |
getServiceCount(String className,
net.jini.config.Configuration config)
|
|
static File |
getServiceDir(String className,
net.jini.config.Configuration config)
Return the directory for the persistent state of the service. |
|
protected static String[] |
getStringArray(String name,
String className,
net.jini.config.Configuration config,
String[] defaultValue)
|
|
protected static long |
getTimeout(String className,
net.jini.config.Configuration config,
long defaultValue)
|
|
abstract ServiceConfiguration.AbstractServiceStarter |
newServiceStarter(IServiceListener listener)
Factory method returns an object that may be used to start an new instance of the service. |
|
String |
toString()
|
|
protected void |
toString(StringBuilder sb)
May be extended to add more properties to the toString()
representation. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final org.apache.log4j.Logger log
public final String className
public final String[] args
ServiceConfiguration.Options.ARGSpublic String[] options
ServiceConfiguration.Options.OPTIONSpublic final File serviceDir
ManagedServiceConfiguration.ManagedServiceStarter.getServiceDir().
ServiceConfiguration.Options.SERVICE_DIRpublic final int serviceCount
ServiceConfiguration.Options.SERVICE_COUNTpublic final int replicationCount
IReplicatableService. Services such as jini or the
ClassServer handle failover either by multiple peers (jini) or by
statically replicated state (ClassServer). Their instances are
configured directly, with a replication count of ONE (1).
ServiceConfiguration.Options.REPLICATION_COUNTpublic final IServiceConstraint[] constraints
ServiceConfiguration.Options.CONSTRAINTSpublic final long timeout
ServiceConfiguration.Options.TIMEOUT| Constructor Detail |
|---|
public ServiceConfiguration(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
className - The name of the server class or a token used for servers that
are not started by directly invoking a JVM, such as "jini".config - The Configuration.
net.jini.config.ConfigurationException| Method Detail |
|---|
public String toString()
toString in class Objectprotected void toString(StringBuilder sb)
toString()
representation.
sb - protected long getDefaultTimeout()
ServiceConfiguration.Options.TIMEOUT (20000 ms).
protected static long getTimeout(String className,
net.jini.config.Configuration config,
long defaultValue)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationExceptionpublic boolean canStartService(JiniFederation fed)
Note: Constraints which can be evaluated without the federation reference
MUST NOT throw an exception if that reference is null.
This allows us to evaluate constraints for boostrap services as well as
for ManagedServiceConfigurations
fed - The federation.
true if all constraints are satisified.
public boolean canStartService(JiniFederation fed,
List<IServiceConstraint> violatedConstraints)
Note: Constraints which can be evaluated without the federation reference
MUST NOT throw an exception if that reference is null.
This allows us to evaluate constraints for boostrap services as well as
for ManagedServiceConfigurations
fed - The federation.violatedConstraints - When non-null, any constraints which would be
violated are added to this list.
true if all constraints are satisified.
public abstract ServiceConfiguration.AbstractServiceStarter newServiceStarter(IServiceListener listener)
throws Exception
listener -
Exception - if there is a problem creating the service starter.
public static File getServiceDir(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationExceptionServiceConfiguration.Options.SERVICE_DIR
public static int getServiceCount(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
public static int getReplicationCount(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
public static String[] getArgs(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
public static String[] getOptions(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
protected static IServiceConstraint[] getConstraints(String className,
net.jini.config.Configuration config)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
protected static String[] getStringArray(String name,
String className,
net.jini.config.Configuration config,
String[] defaultValue)
throws net.jini.config.ConfigurationException
net.jini.config.ConfigurationException
public static <T> T[] concat(T[] a,
T[] b)
a - b -
public static String[] getClassPath()
System.getProperty(String)
into a String[].
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||