public class ServiceStarter extends Object
ServiceStarter
supports the
following configuration entries, with component
com.sun.jini.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
com.sun.jini.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 |
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 ArrayList transient_service_refs
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
,
LoginContext
private 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
,
Configuration
static 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.ConfigurationException
Configuration
static int getActivationSystemPort()
java.rmi.activation.port
system property, if set
ActivationSystem.SYSTEM_PORT
ActivationSystem
private 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
Exception
public 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
com.sun.jini.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
,
ConfigurationProvider
public static void main(Configuration config)
ServiceStarter
application.
The config
argument is queried for the
com.sun.jini.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
,
Configuration
Copyright 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.