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 enumstatic interface -
Field Summary
FieldsModifier and TypeFieldDescription(package private) ByteBufferPoolprivate ClassCodeBaseHandlerbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanprotected org.glassfish.gmbal.ManagedObjectManagerbooleanprotected static final OMGSystemExceptionbooleanbooleanstatic final booleanbooleanbooleanbooleanbooleanprivate static PresentationManagerprivate TypeCodeImpl[]private ObjectNamebooleanbooleanbooleanbooleanbooleanbooleanprivate Map<String, TypeCodeImpl> boolean(package private) WireObjectKeyTemplateprotected static final ORBUtilSystemException -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclassNameResolver(org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> arg) clearDebugFlag(String name) clearDebugFlags(String... names) voidabstract ClientInvocationInfoabstract voidvoiddestroy()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 voidget_primitive_tc(int kind) abstract ClientDelegateFactoryReturns the ClientDelegateFactory, which is used to create the ClientDelegate that represents an IORabstract CopierManagerabstract ContactInfoListFactoryReturns the CorbaContactInfoListFactory, which creates the contact info list that represents possible endpoints in an IOR.abstract TransportManagerabstract IORReturns the IOR used for the Full Value Descriptionabstract ClientInvocationInfoabstract InvocationInterceptorObtain the InvocationInterceptor for this ORB instance.protected IORThis method obtains an IOR from a CORBA object reference.Get the IOR for the CORBA object.abstract LegacyServerSocketManagerabstract LocalResolverGet the LocalResolver used in this ORB.static Loggerabstract ObjectKeyFactoryabstract ORBDataThe ORB configuration dataabstract ORBVersionReturns the implementation version of the ORBabstract PIHandlerstatic PresentationManagerReturns the Presentation Manager for the current thread group, using the ThreadGroup-specific AppContext to hold it.abstract RequestDispatcherRegistryThe RequestDispatcher registry, which contains the request handling codeabstract ResolverGet the resolver used in this ORB.abstract ServiceContextFactoryRegistryReturns the registry for all ServerContext factories of this server.abstract ServiceContextsCacheReturns the cache used to optimise marshaling of ServiceContextsGet the appropriate StubFactoryFactory.abstract TaggedComponentFactoryFinderFactory 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 ThreadPoolManagerabstract intReturn this ORB's transient server ID.abstract TransportManagergetTypeCode(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 OperationGet the operation used in string_to_object calls.abstract voidhandleBadServerId(ObjectKey okey) Handle a bad server id for the given object key.abstract voidprotected voidabstract booleanabstract booleanisLocalHost(String hostName) abstract booleanisLocalServerId(int subcontractId, int serverId) makeCompositeClassNameResolver(org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> first, org.glassfish.pfl.basic.func.UnaryFunction<String, Class<?>> second) private voidmbeanRegistrationSuspended(String oRBId) org.glassfish.gmbal.ManagedObjectManagermom()abstract voidbooleanReturn whether or not the ORB is shutdown.abstract OAInvocationInfoabstract OAInvocationInfoabstract voidabstract voidabstract voidset_parameters(Properties props) abstract voidsetBadServerIdHandler(BadServerIdHandler handler) abstract voidabstract voidsetDebugFlag(String name) private ORB.DebugFlagResultsetDebugFlag(String name, boolean value) private ORB.DebugFlagResultsetDebugFlags(boolean flag, String... names) setDebugFlags(String... names) abstract voidsetINSDelegate(ServerRequestDispatcher insDelegate) Set the ServerRequestDispatcher that should be used for handling INS requests.abstract voidsetInvocationInterceptor(InvocationInterceptor interceptor) Set the InvocationInterceptor for this ORB instance.abstract voidsetLocalResolver(LocalResolver resolver) Set the LocalResolver used in this ORB.abstract voidsetObjectKeyFactory(ObjectKeyFactory factory) abstract voidsetORBVersion(ORBVersion version) abstract voidsetParameters(String[] args, Properties props) abstract voidsetResolver(Resolver resolver) Set the resolver used in this ORB.voidabstract voidvoidsetTypeCode(String id, TypeCodeImpl code) abstract voidsetURLOperation(Operation stringToObject) Set the operation used in string_to_object calls.abstract voidMethods inherited from class com.sun.corba.ee.org.omg.CORBA.ORB
register_initial_referenceMethods inherited from class org.omg.CORBA_2_3.ORB
get_value_def, lookup_value_factory, register_value_factory, set_delegate, unregister_value_factoryMethods 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_pendingMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:ORBDestroys the ORB so that its resources can be reclaimed. Any operation invoked on a destroyed ORB reference will throw theOBJECT_NOT_EXISTexception. Once an ORB has been destroyed, another call toinitwith the same ORBid will return a reference to a newly constructed ORB.If
destroyis 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 callsdestroyin a thread that is currently servicing an invocation, theBAD_INV_ORDERsystem 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
shutdownanddestroyon 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:
setTypeCodein interfaceTypeCodeFactory
-
getTypeCode
- Specified by:
getTypeCodein 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
-