|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.rioproject.boot.ActivateWrapper
public class ActivateWrapper
A wrapper for activatable objects, providing separation of the import codebase (where the server classes are loaded from by the activation group) from the export codebase (where clients should load classes from for stubs, etc.) as well as providing an independent security policy file for each activatable object. This functionality allows multiple activatable objects to be placed in the same activation group, with each object maintaining a distinct codebase and policy.
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.
| Nested Class Summary | |
|---|---|
static class |
ActivateWrapper.ActivateDesc
Descriptor for registering a "wrapped" activatable object. |
| Constructor Summary | |
|---|---|
ActivateWrapper(ActivationID id,
MarshalledObject data)
Activatable constructor. |
|
| Method Summary | |
|---|---|
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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ActivateWrapper(ActivationID id,
MarshalledObject data)
throws Exception
ActivateDesc from the provided
data parameter.
ServiceClassLoader using the import and
export codebases obtained from the provided ActivateDesc,
SharedActivationPolicyPermission
ServiceClassLoader and
the corresponding policy file obtained from the ActivateDesc
with the AggregatePolicyProvider
ServiceClassLoader.
Policy object, if any, with a
AggregatePolicyProvider.
id - The ActivationID of this objectdata - The activation data for this object
Exception - of any errors occurServiceClassLoader,
AggregatePolicyProvider,
SharedActivationPolicyPermission,
Policy| Method Detail |
|---|
public 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 system
RemoteException - if there was a problem communicating with the
activation system
|
Copyright © Rio Project. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||