Constructors Summary |
---|
protected ORB()
// Initialize logging first, since it is needed nearly
// everywhere (for example, in TypeCodeImpl).
wrapperMap = new ConcurrentHashMap();
wrapper = ORBUtilSystemException.get( this,
CORBALogDomains.RPC_PRESENTATION ) ;
omgWrapper = OMGSystemException.get( this,
CORBALogDomains.RPC_PRESENTATION ) ;
typeCodeMap = new HashMap();
primitiveTypeCodeConstants = new TypeCodeImpl[] {
new TypeCodeImpl(this, TCKind._tk_null),
new TypeCodeImpl(this, TCKind._tk_void),
new TypeCodeImpl(this, TCKind._tk_short),
new TypeCodeImpl(this, TCKind._tk_long),
new TypeCodeImpl(this, TCKind._tk_ushort),
new TypeCodeImpl(this, TCKind._tk_ulong),
new TypeCodeImpl(this, TCKind._tk_float),
new TypeCodeImpl(this, TCKind._tk_double),
new TypeCodeImpl(this, TCKind._tk_boolean),
new TypeCodeImpl(this, TCKind._tk_char),
new TypeCodeImpl(this, TCKind._tk_octet),
new TypeCodeImpl(this, TCKind._tk_any),
new TypeCodeImpl(this, TCKind._tk_TypeCode),
new TypeCodeImpl(this, TCKind._tk_Principal),
new TypeCodeImpl(this, TCKind._tk_objref),
null, // tk_struct
null, // tk_union
null, // tk_enum
new TypeCodeImpl(this, TCKind._tk_string),
null, // tk_sequence
null, // tk_array
null, // tk_alias
null, // tk_except
new TypeCodeImpl(this, TCKind._tk_longlong),
new TypeCodeImpl(this, TCKind._tk_ulonglong),
new TypeCodeImpl(this, TCKind._tk_longdouble),
new TypeCodeImpl(this, TCKind._tk_wchar),
new TypeCodeImpl(this, TCKind._tk_wstring),
new TypeCodeImpl(this, TCKind._tk_fixed),
new TypeCodeImpl(this, TCKind._tk_value),
new TypeCodeImpl(this, TCKind._tk_value_box),
new TypeCodeImpl(this, TCKind._tk_native),
new TypeCodeImpl(this, TCKind._tk_abstract_interface)
} ;
monitoringManager =
MonitoringFactories.getMonitoringManagerFactory( ).
createMonitoringManager(
MonitoringConstants.DEFAULT_MONITORING_ROOT,
MonitoringConstants.DEFAULT_MONITORING_ROOT_DESCRIPTION);
|
Methods Summary |
---|
public abstract void | checkShutdownState()
|
public abstract void | finishedDispatch()
|
public com.sun.corba.se.pept.transport.ByteBufferPool | getByteBufferPool()
if (byteBufferPool == null)
byteBufferPool = new ByteBufferPoolImpl(this);
return byteBufferPool;
|
private static java.util.logging.Logger | getCORBALogger(java.lang.String ORBId, java.lang.String domain)
String fqLogDomain = CORBALogDomains.TOP_LEVEL_DOMAIN + "." +
ORBId + "." + domain;
return Logger.getLogger( fqLogDomain, ORBConstants.LOG_RESOURCE_FILE );
|
public abstract com.sun.corba.se.spi.protocol.ClientDelegateFactory | getClientDelegateFactory()
|
public abstract com.sun.corba.se.spi.copyobject.CopierManager | getCopierManager()
|
public abstract com.sun.corba.se.spi.transport.CorbaContactInfoListFactory | getCorbaContactInfoListFactory()
|
public abstract com.sun.corba.se.spi.transport.CorbaTransportManager | getCorbaTransportManager()
|
public abstract com.sun.corba.se.spi.ior.IOR | getFVDCodeBaseIOR()
|
public abstract com.sun.corba.se.spi.legacy.connection.LegacyServerSocketManager | getLegacyServerSocketManager()
|
public abstract com.sun.corba.se.spi.resolver.LocalResolver | getLocalResolver()Get the LocalResolver used in this ORB. This LocalResolver is used for
register_initial_reference only.
|
public com.sun.corba.se.spi.logging.LogWrapperBase | getLogWrapper(java.lang.String logDomain, java.lang.String exceptionGroup, com.sun.corba.se.spi.logging.LogWrapperFactory factory)get the log wrapper class (its type is dependent on the exceptionGroup) for the
given log domain and exception group in this ORB instance.
StringPair key = new StringPair( logDomain, exceptionGroup ) ;
LogWrapperBase logWrapper = (LogWrapperBase)wrapperMap.get( key );
if (logWrapper == null) {
logWrapper = factory.create( getLogger( logDomain ) );
wrapperMap.put( key, logWrapper );
}
return logWrapper;
|
public java.util.logging.Logger | getLogger(java.lang.String domain)Returns the logger based on the category.
ORBData odata = getORBData() ;
// Determine the correct ORBId. There are 3 cases:
// 1. odata is null, which happens if we are getting a logger before
// ORB initialization is complete. In this case we cannot determine
// the ORB ID (it's not known yet), so we set the ORBId to
// _INITIALIZING_.
// 2. odata is not null, so initialization is complete, but ORBId is set to
// the default "". To avoid a ".." in
// the log domain, we simply use _DEFAULT_ in this case.
// 3. odata is not null, ORBId is not "": just use the ORBId.
String ORBId ;
if (odata == null)
ORBId = "_INITIALIZING_" ;
else {
ORBId = odata.getORBId() ;
if (ORBId.equals(""))
ORBId = "_DEFAULT_" ;
}
return getCORBALogger( ORBId, domain ) ;
|
public com.sun.corba.se.spi.monitoring.MonitoringManager | getMonitoringManager()
return monitoringManager;
|
public abstract com.sun.corba.se.spi.orb.ORBData | getORBData()
|
public abstract com.sun.corba.se.spi.orb.ORBVersion | getORBVersion()
|
public abstract com.sun.corba.se.spi.ior.ObjectKeyFactory | getObjectKeyFactory()
|
public abstract com.sun.corba.se.spi.protocol.PIHandler | getPIHandler()
|
public static com.sun.corba.se.spi.presentation.rmi.PresentationManager | getPresentationManager()Get the single instance of the PresentationManager
staticWrapper = ORBUtilSystemException.get(
CORBALogDomains.RPC_PRESENTATION ) ;
boolean useDynamicStub =
((Boolean)AccessController.doPrivileged(
new PrivilegedAction() {
public java.lang.Object run() {
return Boolean.valueOf( Boolean.getBoolean (
ORBConstants.USE_DYNAMIC_STUB_PROPERTY ) ) ;
}
}
)).booleanValue() ;
PresentationManager.StubFactoryFactory dynamicStubFactoryFactory =
(PresentationManager.StubFactoryFactory)AccessController.doPrivileged(
new PrivilegedAction() {
public java.lang.Object run() {
PresentationManager.StubFactoryFactory sff =
PresentationDefaults.getProxyStubFactoryFactory() ;
String className = System.getProperty(
ORBConstants.DYNAMIC_STUB_FACTORY_FACTORY_CLASS,
"com.sun.corba.se.impl.presentation.rmi.bcel.StubFactoryFactoryBCELImpl" ) ;
try {
// First try the configured class name, if any
Class cls = ORBClassLoader.loadClass( className ) ;
sff = (PresentationManager.StubFactoryFactory)cls.newInstance() ;
} catch (Exception exc) {
// Use the default. Log the error as a warning.
staticWrapper.errorInSettingDynamicStubFactoryFactory(
exc, className ) ;
}
return sff ;
}
}
) ;
globalPM = new PresentationManagerImpl( useDynamicStub ) ;
globalPM.setStubFactoryFactory( false,
PresentationDefaults.getStaticStubFactoryFactory() ) ;
globalPM.setStubFactoryFactory( true, dynamicStubFactoryFactory ) ;
return globalPM ;
|
public abstract com.sun.corba.se.spi.protocol.RequestDispatcherRegistry | getRequestDispatcherRegistry()
|
public abstract com.sun.corba.se.spi.resolver.Resolver | getResolver()Get the resolver used in this ORB. This resolver will be used for list_initial_services
and resolve_initial_references.
|
public abstract com.sun.corba.se.spi.servicecontext.ServiceContextRegistry | getServiceContextRegistry()
|
public static PresentationManager.StubFactoryFactory | getStubFactoryFactory()Get the appropriate StubFactoryFactory. This
will be dynamic or static depending on whether
com.sun.CORBA.ORBUseDynamicStub is true or false.
boolean useDynamicStubs = globalPM.useDynamicStubs() ;
return globalPM.getStubFactoryFactory( useDynamicStubs ) ;
|
public abstract com.sun.corba.se.spi.ior.TaggedComponentFactoryFinder | getTaggedComponentFactoryFinder()Factory finders for the various parts of the IOR: tagged components, tagged
profiles, and tagged profile templates.
|
public abstract com.sun.corba.se.spi.ior.IdentifiableFactoryFinder | getTaggedProfileFactoryFinder()
|
public abstract com.sun.corba.se.spi.ior.IdentifiableFactoryFinder | getTaggedProfileTemplateFactoryFinder()
|
public abstract com.sun.corba.se.spi.orbutil.threadpool.ThreadPoolManager | getThreadPoolManager()
|
public abstract int | getTransientServerId()Return this ORB's transient server ID. This is needed for
initializing object adapters.
|
public synchronized com.sun.corba.se.impl.corba.TypeCodeImpl | getTypeCode(java.lang.String id)
return (TypeCodeImpl)typeCodeMap.get(id);
|
public abstract com.sun.corba.se.spi.orb.Operation | getURLOperation()Get the operation used in string_to_object calls. The Operation must expect a
String and return an org.omg.CORBA.Object.
|
public com.sun.corba.se.impl.corba.TypeCodeImpl | get_primitive_tc(int kind)
try {
return primitiveTypeCodeConstants[kind] ;
} catch (Throwable t) {
throw wrapper.invalidTypecodeKind( t, new Integer(kind) ) ;
}
|
public abstract void | handleBadServerId(com.sun.corba.se.spi.ior.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. XXX Remove after ORT for ORBD work is integrated.
|
public abstract void | initBadServerIdHandler()
|
public abstract boolean | isDuringDispatch()
|
public abstract boolean | isLocalHost(java.lang.String hostName)
|
public abstract boolean | isLocalServerId(int subcontractId, int serverId)
|
public abstract void | notifyORB()
|
public abstract com.sun.corba.se.spi.oa.OAInvocationInfo | peekInvocationInfo()
|
public abstract com.sun.corba.se.spi.oa.OAInvocationInfo | popInvocationInfo()
|
public abstract void | pushInvocationInfo(com.sun.corba.se.spi.oa.OAInvocationInfo info)
|
public abstract void | setBadServerIdHandler(com.sun.corba.se.impl.oa.poa.BadServerIdHandler handler)
|
public abstract void | setClientDelegateFactory(com.sun.corba.se.spi.protocol.ClientDelegateFactory factory)
|
public abstract void | setCorbaContactInfoListFactory(com.sun.corba.se.spi.transport.CorbaContactInfoListFactory factory)
|
public abstract void | setINSDelegate(com.sun.corba.se.spi.protocol.CorbaServerRequestDispatcher insDelegate)Set the ServerRequestDispatcher that should be used for handling INS requests.
|
public abstract void | setLocalResolver(com.sun.corba.se.spi.resolver.LocalResolver resolver)Set the LocalResolver used in this ORB. This LocalResolver is used for
register_initial_reference only.
|
public abstract void | setORBVersion(com.sun.corba.se.spi.orb.ORBVersion version)
|
public abstract void | setObjectKeyFactory(com.sun.corba.se.spi.ior.ObjectKeyFactory factory)
|
public abstract void | setResolver(com.sun.corba.se.spi.resolver.Resolver resolver)Set the resolver used in this ORB. This resolver will be used for list_initial_services
and resolve_initial_references.
|
public abstract void | setThreadPoolManager(com.sun.corba.se.spi.orbutil.threadpool.ThreadPoolManager mgr)
|
public synchronized void | setTypeCode(java.lang.String id, com.sun.corba.se.impl.corba.TypeCodeImpl code)
typeCodeMap.put(id, code);
|
public abstract void | setURLOperation(com.sun.corba.se.spi.orb.Operation stringToObject)Set the operation used in string_to_object calls. The Operation must expect a
String and return an org.omg.CORBA.Object.
|
public abstract void | set_parameters(java.util.Properties props)
|
public abstract void | startingDispatch()
|
public static com.sun.corba.se.spi.logging.LogWrapperBase | staticGetLogWrapper(java.lang.String logDomain, java.lang.String exceptionGroup, com.sun.corba.se.spi.logging.LogWrapperFactory factory)get the log wrapper class (its type is dependent on the exceptionGroup) for the
given log domain and exception group in this ORB instance.
StringPair key = new StringPair( logDomain, exceptionGroup ) ;
LogWrapperBase logWrapper = (LogWrapperBase)staticWrapperMap.get( key );
if (logWrapper == null) {
logWrapper = factory.create( staticGetLogger( logDomain ) );
staticWrapperMap.put( key, logWrapper );
}
return logWrapper;
|
public static java.util.logging.Logger | staticGetLogger(java.lang.String domain)
return getCORBALogger( "_CORBA_", domain ) ;
|