Class ReferenceFactoryManagerImpl

    • Field Detail

      • lock

        private final java.util.concurrent.locks.ReentrantLock lock
      • suspendCondition

        private final java.util.concurrent.locks.Condition suspendCondition
      • orb

        private final ORB orb
      • poatable

        private final java.util.Map<java.lang.String,​org.glassfish.pfl.basic.contain.Pair<ServantLocator,​java.util.List<Policy>>> poatable
      • factories

        private final java.util.Map<java.lang.String,​ReferenceFactory> factories
      • managers

        private final java.util.Set<POAManager> managers
      • isActive

        private volatile boolean isActive
      • rootPOA

        private POA rootPOA
      • standardPolicies

        private java.util.List<Policy> standardPolicies
      • parentPOA

        private POA parentPOA
      • parentPOAAdapterName

        private java.lang.String[] parentPOAAdapterName
    • Constructor Detail

      • ReferenceFactoryManagerImpl

        public ReferenceFactoryManagerImpl​(ORB orb)
    • Method Detail

      • create

        public ReferenceFactory create​(java.lang.String name,
                                       java.lang.String repositoryId,
                                       java.util.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
        These policies are required because all are essential to the correct functioning of this class in handling restarts. It is an error for the policies list to contain any value of the above 3 policies. All other policies must be given explicitly in the list.
        Specified by:
        create in interface ReferenceFactoryManager
        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

        public ReferenceFactory find​(java.lang.String[] adapterName)
        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 interface ReferenceFactoryManager
        Parameters:
        adapterName - of factory
        Returns:
        found ReferenceFactory, null otherwise
      • find

        public ReferenceFactory find​(java.lang.String name)
        Description copied from interface: ReferenceFactoryManager
        Find the ReferenceFactory with the given name. If no such ReferenceFactory exists, return null.
        Specified by:
        find in interface ReferenceFactoryManager
        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 interface ReferenceFactoryManager
      • 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 interface ReferenceFactoryManager
      • restartFactories

        public void restartFactories​(java.util.Map<java.lang.String,​org.glassfish.pfl.basic.contain.Pair<ServantLocator,​java.util.List<Policy>>> updates)
        Description copied from interface: ReferenceFactoryManager
        Restart all ReferenceFactories.
        Specified by:
        restartFactories in interface ReferenceFactoryManager
        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​(java.util.Map<java.lang.String,​org.glassfish.pfl.basic.contain.Pair<ServantLocator,​java.util.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 interface ReferenceFactoryManager
        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 interface ReferenceFactoryManager
      • createReference

        Object createReference​(java.lang.String name,
                               byte[] key,
                               java.lang.String repositoryId)
      • destroy

        void destroy​(java.lang.String name)
      • validatePOACreation

        void validatePOACreation​(POA poa)