sharedGroupLog
constructor parameter. This class depends on {@link ActivateWrapper} to provide separation of the import codebase (where the service implementation classes are loaded from) from the export codebase (where service clients should load classes from, for example stubs) as well as providing an independent security policy file for each service object. This functionality allows multiple service objects to be placed in the same activation system group, with each object maintaining distinct export codebase and security policy settings.
Services need to implement the "activatable" constructor required by {@link ActivateWrapper}.
A service implementation can return its service proxy (via the proxy
field of the {@link Created Created} object returnedby {@link #create(net.jini.config.Configuration) create}) in the following ways:
The service's inner proxy is the {@link java.rmi.Remote} object returned from {@link java.rmi.activation.ActivationID#activate(boolean)} using{@link ActivateWrapper} to "wrap" and register the desired servicewith the activation system. A "wrapped" service's inner proxy is returned as follows:
null
, that proxy is returned in a {@link java.rmi.MarshalledObject}; otherwise, an {@link java.io.InvalidObjectException} is thrown.writeReplace
method that returns the object's proxy). The service's outer proxy is the object returned from invoking {@link ServiceProxyAccessor#getServiceProxy()} onthe service's inner proxy.
SharedActivatableServiceDescriptor
depends on {@link ActivateWrapper}, which can itself be configured. See {@linkplain ActivateWrapper}'s configuration information for details. This implementation obtains its configuration entries from the {@link net.jini.config.Configuration Configuration} object passed into the {@link #create(net.jini.config.Configuration) create} method.The following configuration entries use the component prefix "com.sun.jini.start
":
• | activationIdPreparer | |
---|---|---|
  | Type: | {@link net.jini.security.ProxyPreparer} |
  | Default: | new {@link net.jini.security.BasicProxyPreparer}() |
  | Description: | The proxy preparer for the service's activation ID. The value should not be null . This class calls the {@link java.rmi.activation.ActivationID#activate activate} method on instances of {@link java.rmi.activation.ActivationID} when they need to re/activate theservice. |
• | activationSystemPreparer | |
---|---|---|
  | Type: | {@link net.jini.security.ProxyPreparer} |
  | Default: | new {@link net.jini.security.BasicProxyPreparer}() |
  | Description: | The proxy preparer for the proxy for the activation system. The value should not be null . The service starter calls the {@link java.rmi.activation.ActivationSystem#unregisterObject unregisterObject} method on the {@link java.rmi.activation.ActivationSystem} when there is a problemcreating a service. |
• | servicePreparer | |
---|---|---|
  | Type: | {@link net.jini.security.ProxyPreparer} |
  | Default: | new {@link net.jini.security.BasicProxyPreparer}() |
  | Description: | The default proxy preparer used to prepare service proxies. This value should not be null . This entry is obtained during the invocation of {@link #create(net.jini.config.Configuration) create} and is used, to prepare the inner and outer service proxies returned by the service implementation (see service proxy section for details). This entry is superseded by explicitly passing a {@link ProxyPreparer ProxyPreparer} to one of the constructors thataccept a {@linkplain ProxyPreparer proxy preparer} argument. |
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 |
---|---|
{@link java.util.logging.Level#FINER FINER} | for high level service operation tracing |
{@link java.util.logging.Level#FINEST FINEST} | for low level service operation tracing |
@author Sun Microsystems, Inc. @since 2.0
|
|
|
|