com.sun.corba.se.impl.ior.TaggedProfileTemplateFactoryFinderImpl Java Examples

The following examples show how to use com.sun.corba.se.impl.ior.TaggedProfileTemplateFactoryFinderImpl. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ORBImpl.java    From jdk1.8-source-analysis with Apache License 2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #2
Source File: ORBImpl.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #3
Source File: ORBImpl.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #4
Source File: ORBImpl.java    From JDKSourceCode1.8 with MIT License 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #5
Source File: ORBImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #6
Source File: ORBImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #7
Source File: ORBImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #8
Source File: ORBImpl.java    From hottub with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #9
Source File: ORBImpl.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }
 
Example #10
Source File: ORBImpl.java    From openjdk-8 with GNU General Public License v2.0 4 votes vote down vote up
/****************************************************************************
* The following methods are ORB initialization
****************************************************************************/

   // preInit initializes all non-pluggable ORB data that is independent
   // of the property parsing.
   private void preInit( String[] params, Properties props )
   {
       // Before ORBConfiguration we need to set a PINoOpHandlerImpl,
       // because PersisentServer Initialization inside configurator will
       // invoke orb.resolve_initial_references( ) which will result in a
       // check on piHandler to invoke Interceptors. We do not want any
       // Interceptors to be invoked before the complete ORB initialization.
       // piHandler will be replaced by a real PIHandler implementation at the
       // end of this method.
       pihandler = new PINoOpHandlerImpl( );

       // This is the unique id of this server (JVM). Multiple incarnations
       // of this server will get different ids.
       // Compute transientServerId = milliseconds since Jan 1, 1970
       // Note: transientServerId will wrap in about 2^32 / 86400000 = 49.7 days.
       // If two ORBS are started at the same time then there is a possibility
       // of having the same transientServerId. This may result in collision
       // and may be a problem in ior.isLocal() check to see if the object
       // belongs to the current ORB. This problem is taken care of by checking
       // to see if the IOR port matches ORB server port in legacyIsLocalServerPort()
       // method.
       //
       // XXX need to move server ID to a string for CORBA 3.0.  At that point,
       // make this more unique (possibly use java.rmi.server.UID).
       transientServerId = (int)System.currentTimeMillis();

       orbVersionThreadLocal  = new ThreadLocal () {
           protected java.lang.Object initialValue() {
               // set default to version of the ORB with correct Rep-ids
               return ORBVersionFactory.getORBVersion() ;
           }
       };


       requestDispatcherRegistry = new RequestDispatcherRegistryImpl(
           this, ORBConstants.DEFAULT_SCID);
       copierManager = new CopierManagerImpl( this ) ;

       taggedComponentFactoryFinder =
           new TaggedComponentFactoryFinderImpl(this) ;
       taggedProfileFactoryFinder =
           new TaggedProfileFactoryFinderImpl(this) ;
       taggedProfileTemplateFactoryFinder =
           new TaggedProfileTemplateFactoryFinderImpl(this) ;

       dynamicRequests = new Vector();
       svResponseReceived = new SynchVariable();

       OAInvocationInfoStack =
           new ThreadLocal () {
               protected java.lang.Object initialValue()
               {
                   return new StackImpl();
               }
           };

       clientInvocationInfoStack =
           new ThreadLocal() {
               protected java.lang.Object initialValue() {
                   return new StackImpl();
               }
           };

       serviceContextRegistry = new ServiceContextRegistry( this ) ;
   }