Class ORB

    • Field Detail

      • orbInitDebug

        public static final boolean orbInitDebug
      • transportDebugFlag

        public boolean transportDebugFlag
      • subcontractDebugFlag

        public boolean subcontractDebugFlag
      • osgiDebugFlag

        public boolean osgiDebugFlag
      • poaDebugFlag

        public boolean poaDebugFlag
      • poaFSMDebugFlag

        public boolean poaFSMDebugFlag
      • orbdDebugFlag

        public boolean orbdDebugFlag
      • namingDebugFlag

        public boolean namingDebugFlag
      • serviceContextDebugFlag

        public boolean serviceContextDebugFlag
      • transientObjectManagerDebugFlag

        public boolean transientObjectManagerDebugFlag
      • shutdownDebugFlag

        public boolean shutdownDebugFlag
      • giopDebugFlag

        public boolean giopDebugFlag
      • giopSizeDebugFlag

        public boolean giopSizeDebugFlag
      • giopReadDebugFlag

        public boolean giopReadDebugFlag
      • interceptorDebugFlag

        public boolean interceptorDebugFlag
      • folbDebugFlag

        public boolean folbDebugFlag
      • cdrCacheDebugFlag

        public boolean cdrCacheDebugFlag
      • cdrDebugFlag

        public boolean cdrDebugFlag
      • streamFormatVersionDebugFlag

        public boolean streamFormatVersionDebugFlag
      • valueHandlerDebugFlag

        public boolean valueHandlerDebugFlag
      • mbeanDebugFlag

        public boolean mbeanDebugFlag
      • mbeanFineDebugFlag

        public boolean mbeanFineDebugFlag
      • mbeanRuntimeDebugFlag

        public boolean mbeanRuntimeDebugFlag
      • orbLifecycleDebugFlag

        public boolean orbLifecycleDebugFlag
      • operationTraceDebugFlag

        public boolean operationTraceDebugFlag
      • dynamicTypeDebugFlag

        public boolean dynamicTypeDebugFlag
      • isLocalDebugFlag

        public boolean isLocalDebugFlag
      • mom

        protected org.glassfish.gmbal.ManagedObjectManager mom
      • typeCodeMap

        private java.util.Map<java.lang.String,​TypeCodeImpl> typeCodeMap
      • primitiveTypeCodeConstants

        private TypeCodeImpl[] primitiveTypeCodeConstants
      • classNameResolver

        private org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> classNameResolver
      • rootParentObjectName

        private javax.management.ObjectName rootParentObjectName
      • defaultClassNameResolver

        private static final org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> defaultClassNameResolver
    • Constructor Detail

      • ORB

        protected ORB()
    • Method Detail

      • getDebugFlags

        @ManagedAttribute
        @Description("The current settings of the ORB debug flags")
        private java.util.Map<java.lang.String,​java.lang.Boolean> getDebugFlags()
      • mbeanRegistrationSuspended

        @InfoMethod
        private void mbeanRegistrationSuspended​(java.lang.String oRBId)
      • setDebugFlags

        @ManagedOperation
        @Description("Enable debugging for several ORB debug flags")
        public ORB.DebugFlagResult setDebugFlags​(java.lang.String... names)
      • setDebugFlag

        @ManagedOperation
        @Description("Enable debugging for a particular ORB debug flag")
        public ORB.DebugFlagResult setDebugFlag​(java.lang.String name)
      • clearDebugFlags

        @ManagedOperation
        @Description("Disable debugging for several ORB debug flags")
        public ORB.DebugFlagResult clearDebugFlags​(java.lang.String... names)
      • clearDebugFlag

        @ManagedOperation
        @Description("Disable debugging for a particular ORB debug flag")
        public ORB.DebugFlagResult clearDebugFlag​(java.lang.String name)
      • setDebugFlags

        private ORB.DebugFlagResult setDebugFlags​(boolean flag,
                                                  java.lang.String... names)
      • setDebugFlag

        private ORB.DebugFlagResult setDebugFlag​(java.lang.String name,
                                                 boolean value)
      • isLocalHost

        public abstract boolean isLocalHost​(java.lang.String hostName)
      • isLocalServerId

        public abstract boolean isLocalServerId​(int subcontractId,
                                                int serverId)
      • pushInvocationInfo

        public abstract void pushInvocationInfo​(OAInvocationInfo info)
      • getCorbaTransportManager

        @ManagedAttribute
        @Description("The ORB\'s transport manager")
        public abstract TransportManager getCorbaTransportManager()
      • destroy

        public void destroy()
        Description copied from class: ORB
        Destroys the ORB so that its resources can be reclaimed. Any operation invoked on a destroyed ORB reference will throw the OBJECT_NOT_EXIST exception. Once an ORB has been destroyed, another call to init with the same ORBid will return a reference to a newly constructed ORB.

        If destroy is called on an ORB that has not been shut down, it will start the shut down process and block until the ORB has shut down before it destroys the ORB.
        If an application calls destroy in a thread that is currently servicing an invocation, the BAD_INV_ORDER system exception will be thrown with the OMG minor code 3, since blocking would result in a deadlock.

        For maximum portability and to avoid resource leaks, an application should always call shutdown and destroy on all ORB instances before exiting.

        Overrides:
        destroy in class ORB
      • getPresentationManager

        @ManagedAttribute
        @Description("The presentation manager, which handles stub creation")
        public static PresentationManager getPresentationManager()
        Returns the Presentation Manager for the current thread group, using the ThreadGroup-specific AppContext to hold it. Creates and records one if needed.
        Returns:
        The PresentationManager.
      • getStubFactoryFactory

        public static PresentationManager.StubFactoryFactory getStubFactoryFactory()
        Get the appropriate StubFactoryFactory. This will be dynamic or static depending on whether com.sun.corba.ee.ORBUseDynamicStub is true or false.
        Returns:
        The stub factory factory.
      • getInvocationInterceptor

        public abstract InvocationInterceptor getInvocationInterceptor()
        Obtain the InvocationInterceptor for this ORB instance. By default this does nothing.
        Returns:
        The InvocationInterceptor.
      • setInvocationInterceptor

        public abstract void setInvocationInterceptor​(InvocationInterceptor interceptor)
        Set the InvocationInterceptor for this ORB instance. This will be used around all dynamic RMI-IIOP calls that are mediated by this ORB instance.
        Parameters:
        interceptor - The InvocationInterceptor to add.
      • initializePrimitiveTypeCodeConstants

        protected void initializePrimitiveTypeCodeConstants()
      • get_primitive_tc

        public TypeCodeImpl get_primitive_tc​(int kind)
      • set_parameters

        public abstract void set_parameters​(java.util.Properties props)
      • setParameters

        public abstract void setParameters​(java.lang.String[] args,
                                           java.util.Properties props)
      • getORBVersion

        @ManagedAttribute
        @Description("The implementation version of the ORB")
        public abstract ORBVersion getORBVersion()
        Returns the implementation version of the ORB
        Returns:
        the ORB version.
      • setORBVersion

        public abstract void setORBVersion​(ORBVersion version)
      • getFVDCodeBaseIOR

        @ManagedAttribute
        @Description("The IOR used for the Full Value Description")
        public abstract IOR getFVDCodeBaseIOR()
        Returns the IOR used for the Full Value Description
        Returns:
        The IOR used for the Full Value Description
      • handleBadServerId

        public abstract void handleBadServerId​(ObjectKey okey)
        Handle a bad server id for the given object key. This should always through an exception: either a ForwardException to allow another server to handle the request, or else an error indication.
        Parameters:
        okey - The ObjectKey to check for a valid server id.
      • setBadServerIdHandler

        public abstract void setBadServerIdHandler​(BadServerIdHandler handler)
      • initBadServerIdHandler

        public abstract void initBadServerIdHandler()
      • notifyORB

        public abstract void notifyORB()
      • getPIHandler

        @ManagedAttribute
        @Description("The PortableInterceptor Handler")
        public abstract PIHandler getPIHandler()
      • createPIHandler

        public abstract void createPIHandler()
      • isDuringDispatch

        public abstract boolean isDuringDispatch()
      • startingDispatch

        public abstract void startingDispatch()
      • finishedDispatch

        public abstract void finishedDispatch()
      • getTransientServerId

        @ManagedAttribute
        @Description("The transient ServerId of this ORB instance")
        public abstract int getTransientServerId()
        Return this ORB's transient server ID. This is needed for initializing object adapters.
        Returns:
        The transient server id.
      • getServiceContextFactoryRegistry

        @ManagedAttribute
        @Description("The registry for all ServerContext factories")
        public abstract ServiceContextFactoryRegistry getServiceContextFactoryRegistry()
        Returns the registry for all ServerContext factories of this server.
        Returns:
        the registry.
      • getServiceContextsCache

        @ManagedAttribute
        @Description("The cache used to opimize marshaling of ServiceContexts")
        public abstract ServiceContextsCache getServiceContextsCache()
        Returns the cache used to optimise marshaling of ServiceContexts
        Returns:
        the cache used
      • getRequestDispatcherRegistry

        @ManagedAttribute
        @Description("The RequestDispatcher registry, which contains the request handling code")
        public abstract RequestDispatcherRegistry getRequestDispatcherRegistry()
        The RequestDispatcher registry, which contains the request handling code
        Returns:
        The RequestDispatcher registry
      • getORBData

        @ManagedAttribute
        @Description("The ORB configuration data")
        public abstract ORBData getORBData()
        The ORB configuration data
        Returns:
        Config data
      • setClientDelegateFactory

        public abstract void setClientDelegateFactory​(ClientDelegateFactory factory)
      • getClientDelegateFactory

        @ManagedAttribute
        @Description("The ClientDelegateFactory, which is used to create the ClientDelegate that represents an IOR")
        public abstract ClientDelegateFactory getClientDelegateFactory()
        Returns the ClientDelegateFactory, which is used to create the ClientDelegate that represents an IOR
        Returns:
        The ClientDelegateFactory
      • setCorbaContactInfoListFactory

        public abstract void setCorbaContactInfoListFactory​(ContactInfoListFactory factory)
      • getCorbaContactInfoListFactory

        @ManagedAttribute
        @Description("The CorbaContactInfoListFactory, which creates the contact info list that represents possible endpoints in an IOR")
        public abstract ContactInfoListFactory getCorbaContactInfoListFactory()
        Returns the CorbaContactInfoListFactory, which creates the contact info list that represents possible endpoints in an IOR.
        Returns:
        CorbaContactInfoListFactory used
      • setResolver

        public abstract void setResolver​(Resolver resolver)
        Set the resolver used in this ORB. This resolver will be used for list_initial_services and resolve_initial_references.
        Parameters:
        resolver - resolver to be used
      • getResolver

        @ManagedAttribute
        @Description("ORB Name resolver")
        public abstract Resolver getResolver()
        Get the resolver used in this ORB. This resolver will be used for list_initial_services and resolve_initial_references.
        Returns:
        ORB Name resolver
      • setLocalResolver

        public abstract void setLocalResolver​(LocalResolver resolver)
        Set the LocalResolver used in this ORB. This LocalResolver is used for register_initial_reference only.
        Parameters:
        resolver - ORB Local Name resolver
      • getLocalResolver

        @ManagedAttribute
        @Description("ORB Local Name resolver")
        public abstract LocalResolver getLocalResolver()
        Get the LocalResolver used in this ORB. This LocalResolver is used for register_initial_reference only.
        Returns:
        ORB Local Name resolver
      • setURLOperation

        public abstract void setURLOperation​(Operation stringToObject)
        Set the operation used in string_to_object calls. The Operation must expect a String and return an org.omg.CORBA.Object.
        Parameters:
        stringToObject - operation to be used
      • getURLOperation

        public abstract Operation getURLOperation()
        Get the operation used in string_to_object calls. The Operation must expect a String and return an org.omg.CORBA.Object.
        Returns:
        operation used
      • setINSDelegate

        public abstract void setINSDelegate​(ServerRequestDispatcher insDelegate)
        Set the ServerRequestDispatcher that should be used for handling INS requests.
        Parameters:
        insDelegate - dispatcher to be used
      • getTaggedComponentFactoryFinder

        @ManagedAttribute
        @Description("Finder of Factories for TaggedComponents of IORs")
        public abstract TaggedComponentFactoryFinder getTaggedComponentFactoryFinder()
        Factory finders for the various parts of the IOR: tagged components, tagged profiles, and tagged profile templates.
        Returns:
        Finder of Factories for TaggedComponents of IORs
      • getTaggedProfileFactoryFinder

        @ManagedAttribute
        @Description("Finder of Factories for TaggedProfiles of IORs")
        public abstract IdentifiableFactoryFinder<TaggedProfile> getTaggedProfileFactoryFinder()
        Factory finders for the various parts of the IOR: tagged profiles
        Returns:
        Finder of Factories for TaggedProfiles of IORs
      • getTaggedProfileTemplateFactoryFinder

        @ManagedAttribute
        @Description("Finder of Factories for TaggedProfileTemplates of IORs")
        public abstract IdentifiableFactoryFinder<TaggedProfileTemplate> getTaggedProfileTemplateFactoryFinder()
        Factory finders for the various parts of the IOR: tagged profile templates
        Returns:
        Finder of Factories for TaggedProfileTemplates of IORs
      • getObjectKeyFactory

        @ManagedAttribute
        @Description("Factory for creating ObjectKeys")
        public abstract ObjectKeyFactory getObjectKeyFactory()
      • setObjectKeyFactory

        public abstract void setObjectKeyFactory​(ObjectKeyFactory factory)
      • getLogger

        public static java.util.logging.Logger getLogger​(java.lang.String name)
      • getByteBufferPool

        @ManagedAttribute
        @Description("The ByteBuffer pool used in the ORB")
        public ByteBufferPool getByteBufferPool()
      • setThreadPoolManager

        public abstract void setThreadPoolManager​(ThreadPoolManager mgr)
      • getThreadPoolManager

        @ManagedAttribute
        @Description("The ORB\'s threadpool manager")
        public abstract ThreadPoolManager getThreadPoolManager()
      • getCopierManager

        @ManagedAttribute
        @Description("The ORB\'s object copier manager")
        public abstract CopierManager getCopierManager()
      • getUniqueOrbId

        @NameValue
        public java.lang.String getUniqueOrbId()
        Returns a name for this ORB that is based on the ORB id (if any) and guaranteed to be unique within the ClassLoader that loaded the ORB class. This is the default implementation inherited by the ORBSingleton.
        Returns:
        a unique name
      • setRootParentObjectName

        public void setRootParentObjectName​(javax.management.ObjectName oname)
      • createORBManagedObjectManager

        public void createORBManagedObjectManager()
      • getIOR

        protected IOR getIOR​(Object obj)
        This method obtains an IOR from a CORBA object reference. The result is never null.
        Parameters:
        obj - CORBA object reference
        Returns:
        obtained IOR
        Throws:
        BAD_OPERATION - (from oi._get_delegate) if obj is a normal objref, but does not have a delegate set.
        BAD_PARAM - if obj is a local object
      • getIOR

        public IOR getIOR​(Object obj,
                          boolean connectIfNecessary)
        Get the IOR for the CORBA object. If the object is an RMI-IIOP object that is not connected, and connectIfNecessary is true, connect to this ORB. This method will obtain an IOR for any non-local CORBA object, regardless of what ORB implementation created it. It may be more efficient for objrefs that were created by this ORB implementation.
        Parameters:
        obj - CORBA object to get IOR for
        connectIfNecessary - connect to RMI-IIOP if not already
        Returns:
        obtained IOR
        Throws:
        SystemException - (nullObjectReference) if obj is null
        SystemException - (localObjectNotAllowed) of obj is a local CORBA object.
      • extractObjectKeyCacheEntry

        public ObjectKeyCacheEntry extractObjectKeyCacheEntry​(byte[] objKey)
        The singleton ORB does not need the cache, so just return null here.
        Parameters:
        objKey - ignored
        Returns:
        null
      • orbIsShutdown

        public boolean orbIsShutdown()
        Return whether or not the ORB is shutdown. A shutdown ORB cannot process incoming requests.
        Returns:
        true
      • defaultClassNameResolver

        public static org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> defaultClassNameResolver()
      • makeCompositeClassNameResolver

        public org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> makeCompositeClassNameResolver​(org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> first,
                                                                                                                                    org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> second)
      • classNameResolver

        public org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> classNameResolver()
      • classNameResolver

        public void classNameResolver​(org.glassfish.pfl.basic.func.UnaryFunction<java.lang.String,​java.lang.Class<?>> arg)
      • mom

        public org.glassfish.gmbal.ManagedObjectManager mom()
      • createOrIncrementInvocationInfo

        public abstract ClientInvocationInfo createOrIncrementInvocationInfo()
      • releaseOrDecrementInvocationInfo

        public abstract void releaseOrDecrementInvocationInfo()