public class ServiceStarter extends Object
ServiceStarter supports the
following configuration entries, with component
org.apache.river.start:
| • |
loginContext
| |
|---|---|---|
|   | Type: | LoginContext
|
|   | Default: | null
|
|   | Description: | If not null, specifies the JAAS
login context to use for performing a JAAS login and supplying the
Subject to use when running the
service starter. If null, no JAAS login is performed.
|
| • |
serviceDescriptors
| |
|---|---|---|
|   | Type: | ServiceDescriptor[]
|
|   | Default: no default | |
|   | Description: | Array of service descriptors to start. |
Logger, named
org.apache.river.start.service.starter.
The following table describes the
type of information logged as well as the levels of information logged.
| Level | Description |
|---|---|
SEVERE | for problems that prevent service creation from proceeding |
WARNING | for problems with service creation that don't prevent further processing |
FINER | for high level service creation operation tracing |
FINEST | for low level service creation operation tracing |
| Modifier and Type | Class and Description |
|---|---|
private static class |
ServiceStarter.Result
Trivial class used as the return value by the
create methods. |
| Modifier and Type | Field and Description |
|---|---|
(package private) static Logger |
logger
Configure logger
|
(package private) static String |
START_PACKAGE
Component name for service starter configuration entries
|
private static ArrayList<Object> |
transient_service_refs
Array of strong references to transient services
|
| Modifier | Constructor and Description |
|---|---|
private |
ServiceStarter()
Prevent instantiation
|
| Modifier and Type | Method and Description |
|---|---|
private static void |
checkResultFailures(ServiceStarter.Result[] results)
Utility routine that prints out warning messages for each service
descriptor that produced an exception or that was null.
|
private static ServiceStarter.Result[] |
create(ServiceDescriptor[] descs,
Configuration config)
Generic service creation method that attempts to start the
services defined by the provided
ServiceDescriptor[]
argument. |
private static ServiceStarter.Result[] |
createWithLogin(ServiceDescriptor[] descs,
Configuration config,
LoginContext loginContext)
Generic service creation method that attempts to login via
the provided
LoginContext and then call the
create overload without a login context argument. |
(package private) static void |
ensureSecurityManager()
Utility routine that sets a security manager if one isn't already
present.
|
(package private) static ActivationSystem |
getActivationSystem(String host,
int port,
Configuration config)
Utility routine that returns a "prepared" activation system
proxy for a system at the given
host and
port. |
(package private) static int |
getActivationSystemPort()
Utility routine that returns a "default" activation system
port.
|
static void |
main(Configuration config)
The main method for embidding the
ServiceStarter application. |
static void |
main(String[] args)
The main method for the
ServiceStarter application. |
private static void |
maintainNonActivatableReferences(ServiceStarter.Result[] results)
Utility routine that maintains strong references to any
transient services in the provided
Result[]. |
private static void |
processServiceDescriptors(Configuration config)
Workhorse function for both main() entrypoints.
|
static final String START_PACKAGE
static Logger logger
private static ServiceStarter.Result[] createWithLogin(ServiceDescriptor[] descs, Configuration config, LoginContext loginContext) throws Exception
LoginContext and then call the
create overload without a login context argument.descs - The ServiceDescriptor[] that contains
the descriptors for the services to start.config - The associated Configuration object
used to customize the service creation process.loginContext - The associated LoginContext object
used to login/logout.Result[] that is the same length as
descs, which contains the details for each
service creation attempt.Exception - If there was a problem logging in/out or
a problem creating the service.ServiceStarter.Result,
ServiceDescriptor,
Configuration,
LoginContextprivate static ServiceStarter.Result[] create(ServiceDescriptor[] descs, Configuration config) throws Exception
ServiceDescriptor[]
argument.descs - The ServiceDescriptor[] that contains
the descriptors for the services to start.config - The associated Configuration object
used to customize the service creation process.Result[] that is the same length as
descs, which contains the details for each
service creation attempt.Exception - If there was a problem creating the service.ServiceStarter.Result,
ServiceDescriptor,
Configurationstatic void ensureSecurityManager()
static ActivationSystem getActivationSystem(String host, int port, Configuration config) throws ActivationException, ConfigurationException
host and
port.host - The host of the desired activation systemport - The port of the desired activation systemconfig - The Configuration used to
prepare the system proxy.ActivationException - If there was a problem
communicating with the activation
system.ConfigurationExceptionConfigurationstatic int getActivationSystemPort()
java.rmi.activation.port
system property, if set
ActivationSystem.SYSTEM_PORT
ActivationSystemprivate static void maintainNonActivatableReferences(ServiceStarter.Result[] results)
Result[].
This prevents the transient services from getting garbage
collected.private static void checkResultFailures(ServiceStarter.Result[] results)
private static void processServiceDescriptors(Configuration config) throws Exception
Exceptionpublic static void main(String[] args)
ServiceStarter application.
The args argument is passed directly to
ConfigurationProvider.getInstance() in order to
obtain a Configuration object. This configuration
object is then queried for the
org.apache.river.start.serviceDescriptors entry, which
is assumed to be a ServiceDescriptor[].
The create() method is then called on each of the array
elements.args - String[] passed to
ConfigurationProvider.getInstance() in order
to obtain a Configuration object.ServiceDescriptor,
SharedActivatableServiceDescriptor,
SharedActivationGroupDescriptor,
NonActivatableServiceDescriptor,
Configuration,
ConfigurationProviderpublic static void main(Configuration config)
ServiceStarter application.
The config argument is queried for the
org.apache.river.start.serviceDescriptors entry, which
is assumed to be a ServiceDescriptor[].
The create() method is then called on each of the array
elements.config - the Configuration object.ServiceDescriptor,
SharedActivatableServiceDescriptor,
SharedActivationGroupDescriptor,
NonActivatableServiceDescriptor,
ConfigurationCopyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.