Class ReferenceFactoryManagerImpl
java.lang.Object
org.omg.CORBA.LocalObject
com.sun.corba.ee.impl.oa.rfm.ReferenceFactoryManagerImpl
- All Implemented Interfaces:
ReferenceFactoryManager, Serializable, Object, IDLEntity
@ManagedObject
@Description("The ReferenceFactoryManager, used to handle dynamic cluster membership updates")
public class ReferenceFactoryManagerImpl
extends LocalObject
implements ReferenceFactoryManager
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classprivate static classNested classes/interfaces inherited from interface ReferenceFactoryManager
ReferenceFactoryManager.RFMState -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AdapterActivatorprivate final Map<String, ReferenceFactory> private booleanprivate final ReentrantLockprivate final Set<POAManager> private final ORBprivate static final Stringprivate POAprivate String[]private final Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> private POAprivate static final longprivate ReferenceFactoryManager.RFMStateprivate final Conditionprivate static final POASystemException -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate()Must be called before any other operation.Create a new reference factory with the given policies.(package private) ObjectcreateReference(String name, byte[] key, String repositoryId) (package private) voidFind the ReferenceFactory with the given name.Get the ReferenceFactory name from a String[] adapterName, if adapterName is the name of a ReferenceFactory.getState()The state of the ReferenceFactoryManager.booleanvoidrestart()Restart all ReferenceFactories.voidRestart all ReferenceFactories.voidRestart all ReferenceFactories.voidrestartFactories(Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> updates) Restart all ReferenceFactories.voidresume()Resume all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.voidsuspend()Suspend all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.(package private) voidvalidatePOACreation(POA poa) Methods inherited from class LocalObject
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface, _get_interface_def, _get_policy, _hash, _invoke, _is_a, _is_equivalent, _is_local, _non_existent, _orb, _release, _releaseReply, _request, _request, _servant_postinvoke, _servant_preinvoke, _set_policy_override, validate_connectionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Object
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override
-
Field Details
-
wrapper
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
PARENT_POA_NAME
- See Also:
-
state
-
lock
-
suspendCondition
-
orb
-
poatable
private final Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> poatable -
factories
-
managers
-
activator
-
isActive
private volatile boolean isActive -
rootPOA
-
standardPolicies
-
parentPOA
-
parentPOAAdapterName
-
-
Constructor Details
-
ReferenceFactoryManagerImpl
-
-
Method Details
-
getState
Description copied from interface:ReferenceFactoryManagerThe state of the ReferenceFactoryManager.- Specified by:
getStatein interfaceReferenceFactoryManager- Returns:
- whether the manager is READY or SUSPENDED
-
activate
public void activate()Description copied from interface:ReferenceFactoryManagerMust be called before any other operation. Used to activate the ORB reference creation function.- Specified by:
activatein interfaceReferenceFactoryManager
-
create
public ReferenceFactory create(String name, String repositoryId, List<Policy> policies, ServantLocator locator) Description copied from interface:ReferenceFactoryManagerCreate a new reference factory with the given policies. All such reference factories will be persistent. The ServantLocator is solely responsible for creating servants: no internal caching will be performed. The following policies are always applied here:- Servant retention policy NON_RETAIN
- Request processing policy USE_SERVANT_MANAGER
- Lifespan policy PERSISTENT
- Specified by:
createin interfaceReferenceFactoryManager- Parameters:
name- is the name of this ReferenceFactory. This is a simple flat name, not a hierarchical name.repositoryId- is the repoid to be used when this reference factory creates a new CORBA Object reference.policies- are the policies to be used to create the underlying POA.locator- locator to use for the reference- Returns:
- resulting ReferenceFactory with given policies
-
find
Description copied from interface:ReferenceFactoryManagerGet the ReferenceFactory name from a String[] adapterName, if adapterName is the name of a ReferenceFactory. If not, return null.- Specified by:
findin interfaceReferenceFactoryManager- Parameters:
adapterName- of factory- Returns:
- found ReferenceFactory, null otherwise
-
find
Description copied from interface:ReferenceFactoryManagerFind the ReferenceFactory with the given name. If no such ReferenceFactory exists, return null.- Specified by:
findin interfaceReferenceFactoryManager- Parameters:
name- of factory- Returns:
- found ReferenceFactory, null otherwise
-
suspend
public void suspend()Description copied from interface:ReferenceFactoryManagerSuspend all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager. This call does not return until after all currently executing calls have completed.- Specified by:
suspendin interfaceReferenceFactoryManager
-
resume
public void resume()Description copied from interface:ReferenceFactoryManagerResume all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.- Specified by:
resumein interfaceReferenceFactoryManager
-
restartFactories
public void restartFactories(Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> updates) Description copied from interface:ReferenceFactoryManagerRestart all ReferenceFactories.- Specified by:
restartFactoriesin interfaceReferenceFactoryManager- Parameters:
updates- is a map giving the updated policies for some or all of the ReferenceFactory instances in this ReferenceFactoryManager. This parameter must not be null.
-
restartFactories
public void restartFactories()Description copied from interface:ReferenceFactoryManagerRestart all ReferenceFactories. Equivalent to calling restartFactories( new Map() ).- Specified by:
restartFactoriesin interfaceReferenceFactoryManager
-
restart
public void restart(Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> updates) Restart all ReferenceFactories. This is done safely, so that any request against object references created from these factories complete correctly. Restart does not return until all restart activity completes.- Specified by:
restartin interfaceReferenceFactoryManager- Parameters:
updates- is a map giving the updated policies for some or all of the ReferenceFactory instances in this ReferenceFactoryManager. This parameter must not be null.
-
restart
public void restart()Restart all ReferenceFactories. This is done safely, so that any request against object references created from these factories complete correctly. Restart does not return until all restart activity completes. Equivalent to calling restart( new Map() ).- Specified by:
restartin interfaceReferenceFactoryManager
-
createReference
-
destroy
-
validatePOACreation
-
isRfmName
- Specified by:
isRfmNamein interfaceReferenceFactoryManager
-