public class ActivateWrapper extends Object implements Remote, Serializable
This wrapper class is assumed to be available directly in the activation group VM; that is, it is assumed to be in the application classloader, the extension classloader, or the boot classloader, rather than being downloaded. Since this class also needs considerable permissions, the easiest thing to do is to make it an installed extension.
 This wrapper class performs a security
 check to control what policy files can be used with a given codebase. It does this by querying
 the VM's (global) policy for SharedActivationPolicyPermission grants.
 The service's associated ActivateDesc.importLocation is used as the CodeSource for selecting the
 appropriate permission set to check against. If multiple codebases are used, then all the
 codebases must have the necessary SharedActivationPolicyPermission grants. 
An example of how to use this wrapper:
 URL[] importURLs = new URL[] {new URL("http://myhost:8080/service.jar")};
 URL[] exportURLs = new URL[] {new URL("http://myhost:8080/service-dl.jar")};
 ActivationID aid
     = ActivateWrapper.register(
                gid,
                new ActivateWrapper.ActivateDesc(
                        "foo.bar.ServiceImpl",
                        importURLs,
                        exportURLs,
                        "http://myhost:8080/service.policy",
                        new MarshalledObject(
                          new String[] { "/tmp/service.config" })
              ),
                true,
              activationSystem);
 
  Clients of this wrapper service need to implement the following
 "activation constructor":
 where,<impl>(ActivationID activationID, MarshalledObject data)
ProxyAccessor, which
 allows the service implementation to provide a remote reference of its choosing.   This implementation of ActivateWrapper supports the following
 Security property:
 
| • |  
 com.sun.jini.start.servicePolicyProvider  | |
|---|---|---|
|   | Default: |   "net.jini.security.policy.DynamicPolicyProvider"
   | 
|   | Description: |  The fully
 qualified class name of a dynamic policy provider (see DynamicPolicy)
 which will be used to "wrap" all service policy files. The implementation class needs to: 
  A custom service policy provider can be very useful when trying to debug security related
 issues.   | 
SharedActivationPolicyPermission, 
ActivationID, 
MarshalledObject, 
Remote, 
CodeSource, 
ProxyAccessor, 
Serialized Form| Modifier and Type | Class and Description | 
|---|---|
static class  | 
ActivateWrapper.ActivateDesc
Descriptor for registering a "wrapped" activatable object. 
 | 
| Constructor and Description | 
|---|
ActivateWrapper(ActivationID id,
               MarshalledObject data)
Activatable constructor. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static ActivationID | 
register(ActivationGroupID gid,
        ActivateWrapper.ActivateDesc desc,
        boolean restart,
        ActivationSystem sys)
Analog to  
Activatable.register() for activatable objects that want to use this wrapper mechanism. | 
public ActivateWrapper(ActivationID id, MarshalledObject data) throws Exception
ActivateDesc
 from the provided data parameter. ExportClassLoader
 using the import and export codebases obtained from the provided ActivateDesc,
 SharedActivationPolicyPermission
 ExportClassLoader and the corresponding policy
 file obtained from the ActivateDesc with the AggregatePolicyProvider
 ExportClassLoader. Policy object, if any, with a
 AggregatePolicyProvider.id - The ActivationID of this objectdata - The activation data for this objectExceptionActivateWrapper.ExportClassLoader, 
ActivateWrapper.ActivateDesc, 
AggregatePolicyProvider, 
SharedActivationPolicyPermission, 
Policypublic static ActivationID register(ActivationGroupID gid, ActivateWrapper.ActivateDesc desc, boolean restart, ActivationSystem sys) throws ActivationException, RemoteException
Activatable.register() for activatable objects that want to use this wrapper mechanism.ActivationException - if there was a problem registering the activatable class with the
                             activation systemRemoteException - if there was a problem communicating with the activation systemCopyright © GigaSpaces.