Package com.sun.corba.ee.spi.orb
Class ORB
java.lang.Object
org.omg.CORBA.ORB
org.omg.CORBA_2_3.ORB
com.sun.corba.ee.org.omg.CORBA.ORB
com.sun.corba.ee.spi.orb.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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
static interface
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) ByteBufferPool
private ClassCodeBaseHandler
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
protected org.glassfish.gmbal.ManagedObjectManager
boolean
protected static final OMGSystemException
boolean
boolean
static final boolean
boolean
boolean
boolean
boolean
private static PresentationManager
private TypeCodeImpl[]
private ObjectName
boolean
boolean
boolean
boolean
boolean
boolean
private Map
<String, TypeCodeImpl> boolean
(package private) WireObjectKeyTemplate
protected static final ORBUtilSystemException
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
classNameResolver
(org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> arg) clearDebugFlag
(String name) clearDebugFlags
(String... names) void
abstract ClientInvocationInfo
abstract void
void
destroy()
Destroys the ORB so that its resources can be reclaimed.extractObjectKeyCacheEntry
(byte[] objKey) The singleton ORB does not need the cache, so just return null here.abstract void
get_primitive_tc
(int kind) abstract ClientDelegateFactory
Returns the ClientDelegateFactory, which is used to create the ClientDelegate that represents an IORabstract CopierManager
abstract ContactInfoListFactory
Returns the CorbaContactInfoListFactory, which creates the contact info list that represents possible endpoints in an IOR.abstract TransportManager
abstract IOR
Returns the IOR used for the Full Value Descriptionabstract ClientInvocationInfo
abstract InvocationInterceptor
Obtain the InvocationInterceptor for this ORB instance.protected IOR
This method obtains an IOR from a CORBA object reference.Get the IOR for the CORBA object.abstract LegacyServerSocketManager
abstract LocalResolver
Get the LocalResolver used in this ORB.static Logger
abstract ObjectKeyFactory
abstract ORBData
The ORB configuration dataabstract ORBVersion
Returns the implementation version of the ORBabstract PIHandler
static PresentationManager
Returns the Presentation Manager for the current thread group, using the ThreadGroup-specific AppContext to hold it.abstract RequestDispatcherRegistry
The RequestDispatcher registry, which contains the request handling codeabstract Resolver
Get the resolver used in this ORB.abstract ServiceContextFactoryRegistry
Returns the registry for all ServerContext factories of this server.abstract ServiceContextsCache
Returns the cache used to optimise marshaling of ServiceContextsGet the appropriate StubFactoryFactory.abstract TaggedComponentFactoryFinder
Factory finders for the various parts of the IOR: tagged components, tagged profiles, and tagged profile templates.abstract IdentifiableFactoryFinder
<TaggedProfile> Factory finders for the various parts of the IOR: tagged profilesFactory finders for the various parts of the IOR: tagged profile templatesabstract ThreadPoolManager
abstract int
Return this ORB's transient server ID.abstract TransportManager
getTypeCode
(String id) 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.abstract Operation
Get the operation used in string_to_object calls.abstract void
handleBadServerId
(ObjectKey okey) Handle a bad server id for the given object key.abstract void
protected void
abstract boolean
abstract boolean
isLocalHost
(String hostName) abstract boolean
isLocalServerId
(int subcontractId, int serverId) makeCompositeClassNameResolver
(org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> first, org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> second) private void
mbeanRegistrationSuspended
(String oRBId) org.glassfish.gmbal.ManagedObjectManager
mom()
abstract void
boolean
Return whether or not the ORB is shutdown.abstract OAInvocationInfo
abstract OAInvocationInfo
abstract void
abstract void
abstract void
set_parameters
(Properties props) abstract void
setBadServerIdHandler
(BadServerIdHandler handler) abstract void
abstract void
setDebugFlag
(String name) private ORB.DebugFlagResult
setDebugFlag
(String name, boolean value) private ORB.DebugFlagResult
setDebugFlags
(boolean flag, String... names) setDebugFlags
(String... names) abstract void
setINSDelegate
(ServerRequestDispatcher insDelegate) Set the ServerRequestDispatcher that should be used for handling INS requests.abstract void
setInvocationInterceptor
(InvocationInterceptor interceptor) Set the InvocationInterceptor for this ORB instance.abstract void
setLocalResolver
(LocalResolver resolver) Set the LocalResolver used in this ORB.abstract void
setObjectKeyFactory
(ObjectKeyFactory factory) abstract void
setORBVersion
(ORBVersion version) abstract void
setParameters
(String[] args, Properties props) abstract void
setResolver
(Resolver resolver) Set the resolver used in this ORB.void
abstract void
void
setTypeCode
(String id, TypeCodeImpl code) abstract void
setURLOperation
(Operation stringToObject) Set the operation used in string_to_object calls.abstract void
Methods inherited from class com.sun.corba.ee.org.omg.CORBA.ORB
register_initial_reference
Methods inherited from class org.omg.CORBA_2_3.ORB
get_value_def, lookup_value_factory, register_value_factory, set_delegate, unregister_value_factory
Methods inherited from class org.omg.CORBA.ORB
connect, create_abstract_interface_tc, create_alias_tc, create_any, create_array_tc, create_basic_dyn_any, create_context_list, create_dyn_any, create_dyn_array, create_dyn_enum, create_dyn_sequence, create_dyn_struct, create_dyn_union, create_enum_tc, create_environment, create_exception_list, create_exception_tc, create_fixed_tc, create_interface_tc, create_list, create_named_value, create_native_tc, create_operation_list, create_output_stream, create_policy, create_recursive_sequence_tc, create_recursive_tc, create_sequence_tc, create_string_tc, create_struct_tc, create_union_tc, create_value_box_tc, create_value_tc, create_wstring_tc, disconnect, get_current, get_default_context, get_next_response, get_primitive_tc, get_service_information, init, init, init, list_initial_services, object_to_string, perform_work, poll_next_response, resolve_initial_references, run, send_multiple_requests_deferred, send_multiple_requests_oneway, set_parameters, set_parameters, shutdown, string_to_object, work_pending
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.sun.corba.ee.impl.corba.TypeCodeFactory
getTypeCodeForClass, setTypeCodeForClass
-
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
-
omgWrapper
-
typeCodeMap
-
primitiveTypeCodeConstants
-
byteBufferPool
ByteBufferPool byteBufferPool -
wireObjectKeyTemplate
WireObjectKeyTemplate wireObjectKeyTemplate -
presentationManager
-
classNameResolver
-
ccbHandler
-
rootParentObjectName
-
defaultClassNameResolver
-
-
Constructor Details
-
ORB
protected ORB()
-
-
Method Details
-
getDebugFlags
-
mbeanRegistrationSuspended
-
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
-
setDebugFlag
-
isLocalHost
-
isLocalServerId
public abstract boolean isLocalServerId(int subcontractId, int serverId) -
peekInvocationInfo
-
pushInvocationInfo
-
popInvocationInfo
-
getCorbaTransportManager
@ManagedAttribute @Description("The ORB\'s transport manager") public abstract TransportManager getCorbaTransportManager() -
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 theOBJECT_NOT_EXIST
exception. Once an ORB has been destroyed, another call toinit
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 callsdestroy
in a thread that is currently servicing an invocation, theBAD_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
anddestroy
on all ORB instances before exiting. -
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
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
Obtain the InvocationInterceptor for this ORB instance. By default this does nothing.- Returns:
- The InvocationInterceptor.
-
setInvocationInterceptor
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
-
setTypeCode
- Specified by:
setTypeCode
in interfaceTypeCodeFactory
-
getTypeCode
- Specified by:
getTypeCode
in interfaceTypeCodeFactory
-
set_parameters
-
setParameters
-
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
-
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
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
-
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
The ORB configuration data- Returns:
- Config data
-
setClientDelegateFactory
-
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
-
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
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
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
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
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
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
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
-
getLogger
-
getByteBufferPool
@ManagedAttribute @Description("The ByteBuffer pool used in the ORB") public ByteBufferPool getByteBufferPool() -
getWireObjectKeyTemplate
-
setThreadPoolManager
-
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
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
-
createORBManagedObjectManager
public void createORBManagedObjectManager() -
getIOR
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
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 forconnectIfNecessary
- connect to RMI-IIOP if not already- Returns:
- obtained IOR
- Throws:
SystemException
- (nullObjectReference) if obj is nullSystemException
- (localObjectNotAllowed) of obj is a local CORBA object.
-
extractObjectKeyCacheEntry
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
-
makeCompositeClassNameResolver
-
classNameResolver
-
classNameResolver
-
mom
public org.glassfish.gmbal.ManagedObjectManager mom() -
classCodeBaseHandler
-
classCodeBaseHandler
-
createOrIncrementInvocationInfo
-
getInvocationInfo
-
releaseOrDecrementInvocationInfo
public abstract void releaseOrDecrementInvocationInfo() -
getTransportManager
-