Class ORB

All Implemented Interfaces:
TypeCodeFactory
Direct Known Subclasses:
ORBImpl, ORBSingleton

@ManagedObject @Description("The Main ORB Implementation object") @AMXMetadata(type="ORB-Root") public abstract class ORB extends ORB implements TypeCodeFactory
  • Field Details

    • 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
    • wrapper

      protected static final ORBUtilSystemException wrapper
    • omgWrapper

      protected static final OMGSystemException omgWrapper
    • typeCodeMap

      private Map<String,TypeCodeImpl> typeCodeMap
    • primitiveTypeCodeConstants

      private TypeCodeImpl[] primitiveTypeCodeConstants
    • byteBufferPool

      ByteBufferPool byteBufferPool
    • wireObjectKeyTemplate

      WireObjectKeyTemplate wireObjectKeyTemplate
    • presentationManager

      private static PresentationManager presentationManager
    • classNameResolver

      private org.glassfish.pfl.basic.func.UnaryFunction<String,Class<?>> classNameResolver
    • ccbHandler

      private ClassCodeBaseHandler ccbHandler
    • rootParentObjectName

      private ObjectName rootParentObjectName
    • defaultClassNameResolver

      private static final org.glassfish.pfl.basic.func.UnaryFunction<String,Class<?>> defaultClassNameResolver
  • Constructor Details

    • ORB

      protected ORB()
  • Method Details

    • getDebugFlags

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

      @InfoMethod private void mbeanRegistrationSuspended(String oRBId)
    • setDebugFlags

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

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

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

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

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

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

      public abstract boolean isLocalHost(String hostName)
    • isLocalServerId

      public abstract boolean isLocalServerId(int subcontractId, int serverId)
    • peekInvocationInfo

      public abstract OAInvocationInfo peekInvocationInfo()
    • pushInvocationInfo

      public abstract void pushInvocationInfo(OAInvocationInfo info)
    • popInvocationInfo

      public abstract OAInvocationInfo popInvocationInfo()
    • getCorbaTransportManager

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

      public abstract LegacyServerSocketManager getLegacyServerSocketManager()
    • 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)
    • setTypeCode

      public void setTypeCode(String id, TypeCodeImpl code)
      Specified by:
      setTypeCode in interface TypeCodeFactory
    • getTypeCode

      public TypeCodeImpl getTypeCode(String id)
      Specified by:
      getTypeCode in interface TypeCodeFactory
    • set_parameters

      public abstract void set_parameters(Properties props)
    • setParameters

      public abstract void setParameters(String[] args, 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 Logger getLogger(String name)
    • getByteBufferPool

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

      public WireObjectKeyTemplate getWireObjectKeyTemplate()
    • 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 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(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<String,Class<?>> defaultClassNameResolver()
    • makeCompositeClassNameResolver

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

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

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

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

      public ClassCodeBaseHandler classCodeBaseHandler()
    • classCodeBaseHandler

      public void classCodeBaseHandler(ClassCodeBaseHandler ccbh)
    • createOrIncrementInvocationInfo

      public abstract ClientInvocationInfo createOrIncrementInvocationInfo()
    • getInvocationInfo

      public abstract ClientInvocationInfo getInvocationInfo()
    • releaseOrDecrementInvocationInfo

      public abstract void releaseOrDecrementInvocationInfo()
    • getTransportManager

      public abstract TransportManager getTransportManager()