Package com.sun.corba.ee.impl.oa.rfm
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 class
private static class
Nested classes/interfaces inherited from interface com.sun.corba.ee.spi.oa.rfm.ReferenceFactoryManager
ReferenceFactoryManager.RFMState
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AdapterActivator
private final Map
<String, ReferenceFactory> private boolean
private final ReentrantLock
private final Set
<POAManager> private final ORB
private static final String
private POA
private String[]
private final Map
<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> private POA
private static final long
private ReferenceFactoryManager.RFMState
private final Condition
private static final POASystemException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
activate()
Must be called before any other operation.Create a new reference factory with the given policies.(package private) Object
createReference
(String name, byte[] key, String repositoryId) (package private) void
Find 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.boolean
void
restart()
Restart all ReferenceFactories.void
Restart all ReferenceFactories.void
Restart all ReferenceFactories.void
restartFactories
(Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> updates) Restart all ReferenceFactories.void
resume()
Resume all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.void
suspend()
Suspend all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.(package private) void
validatePOACreation
(POA poa) Methods inherited from class org.omg.CORBA.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_connection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.omg.CORBA.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, poatableList<Policy>>> -
factories
-
managers
-
activator
-
isActive
private volatile boolean isActive -
rootPOA
-
standardPolicies
-
parentPOA
-
parentPOAAdapterName
-
-
Constructor Details
-
ReferenceFactoryManagerImpl
-
-
Method Details
-
getState
Description copied from interface:ReferenceFactoryManager
The state of the ReferenceFactoryManager.- Specified by:
getState
in interfaceReferenceFactoryManager
- Returns:
- whether the manager is READY or SUSPENDED
-
activate
public void activate()Description copied from interface:ReferenceFactoryManager
Must be called before any other operation. Used to activate the ORB reference creation function.- Specified by:
activate
in interfaceReferenceFactoryManager
-
create
public ReferenceFactory create(String name, String repositoryId, List<Policy> policies, ServantLocator locator) Description copied from interface:ReferenceFactoryManager
Create 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:
create
in 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:ReferenceFactoryManager
Get the ReferenceFactory name from a String[] adapterName, if adapterName is the name of a ReferenceFactory. If not, return null.- Specified by:
find
in interfaceReferenceFactoryManager
- Parameters:
adapterName
- of factory- Returns:
- found ReferenceFactory, null otherwise
-
find
Description copied from interface:ReferenceFactoryManager
Find the ReferenceFactory with the given name. If no such ReferenceFactory exists, return null.- Specified by:
find
in interfaceReferenceFactoryManager
- Parameters:
name
- of factory- Returns:
- found ReferenceFactory, null otherwise
-
suspend
public void suspend()Description copied from interface:ReferenceFactoryManager
Suspend 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:
suspend
in interfaceReferenceFactoryManager
-
resume
public void resume()Description copied from interface:ReferenceFactoryManager
Resume all CORBA request processing on all references created by ReferenceFactory instances that were created by this ReferenceFactoryManager.- Specified by:
resume
in interfaceReferenceFactoryManager
-
restartFactories
public void restartFactories(Map<String, org.glassfish.pfl.basic.contain.Pair<ServantLocator, List<Policy>>> updates) Description copied from interface:ReferenceFactoryManager
Restart all ReferenceFactories.- Specified by:
restartFactories
in 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:ReferenceFactoryManager
Restart all ReferenceFactories. Equivalent to calling restartFactories( new Map() ).- Specified by:
restartFactories
in 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:
restart
in 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:
restart
in interfaceReferenceFactoryManager
-
createReference
-
destroy
-
validatePOACreation
-
isRfmName
- Specified by:
isRfmName
in interfaceReferenceFactoryManager
-