bootstrapactivation.java
来自「java jdk 1.4的源码」· Java 代码 · 共 134 行
JAVA
134 行
/* * @(#)BootStrapActivation.java 1.11 03/01/23 * * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.internal.Activation;import java.io.File;import java.util.Properties;import org.omg.CosNaming.NamingContext;import org.omg.CORBA.INTERNAL ;import com.sun.corba.se.internal.POA.POAORB;import com.sun.corba.se.ActivationIDL.Repository;import com.sun.corba.se.ActivationIDL.RepositoryPackage.ServerDef;import com.sun.corba.se.ActivationIDL.Locator;import com.sun.corba.se.ActivationIDL.LocatorHelper;import com.sun.corba.se.ActivationIDL.Activator;import com.sun.corba.se.ActivationIDL.ActivatorHelper;import com.sun.corba.se.internal.CosNaming.BootstrapServer;import com.sun.corba.se.internal.orbutil.ORBConstants;public class BootStrapActivation{ private POAORB orb; private String dbDirName; private File dbDir; private InitialNamingImpl ins; public BootStrapActivation( POAORB theorb ) { orb = theorb; } private void createSystemDirs(String defaultDbDir ) { Properties props = System.getProperties(); String fileSep = props.getProperty("file.separator"); dbDir = new File(props.getProperty( ORBConstants.DB_DIR_PROPERTY, props.getProperty("user.dir") + fileSep + ORBConstants.DEFAULT_DB_DIR ) ); dbDirName = dbDir.getAbsolutePath( ); props.put(ORBConstants.DB_DIR_PROPERTY, dbDirName ); if( !dbDir.exists() ) { dbDir.mkdir(); } File logDir = new File( dbDir, "logs"); if( !logDir.exists() ) { logDir.mkdir(); } } private void initializeBootNaming( ) { try { createSystemDirs( ORBConstants.DEFAULT_DB_DIR ); Properties props = new Properties(); // null properties String fileSep = System.getProperty("file.separator"); File nameFile = new File(dbDir, fileSep + ORBConstants.INITIAL_ORB_DB); // create a bootstrap server BootstrapServer bootServer; int initSvcPort = orb.getORBInitialPort(); bootServer = new BootstrapServer(orb, initSvcPort, nameFile, props); bootServer.start(); // add the Initial Naming object ins = new InitialNamingImpl((org.omg.CORBA.ORB)orb, bootServer); } catch( Exception e ) { // No Exception is displayed, Because the NameService release // Expects the exception in certain format. // _REVISIT_ and print out the right message } } public void start( ) { try { initializeBootNaming( ); // Initialize Server Repository RepositoryImpl repository = (RepositoryImpl) orb.getInitialService( ORBConstants.SERVER_REPOSITORY_NAME ); if( repository == null ) { repository = new RepositoryImpl( orb, dbDir, orb.orbdDebugFlag ); } ins.bind( ORBConstants.SERVER_REPOSITORY_NAME, repository, false ); // Initialize Locator and Activator objects ServerManagerImpl serverMgr = (ServerManagerImpl)orb.getInitialService( ORBConstants.SERVER_LOCATOR_NAME ); if( serverMgr == null ) { com.sun.corba.se.internal.core.ServerGIOP sgiop = orb.getServerGIOP(); sgiop.initEndpoints(); serverMgr = new ServerManagerImpl( orb, sgiop, repository, dbDirName, orb.orbdDebugFlag ); } Locator locator = LocatorHelper.narrow( serverMgr ); ins.bind( ORBConstants.SERVER_LOCATOR_NAME, locator, false ); Activator activator = ActivatorHelper.narrow( serverMgr ); ins.bind( ORBConstants.SERVER_ACTIVATOR_NAME, activator, false ); // Initialize Name Service org.omg.CORBA.Object rootContext = orb.getInitialService("NameService"); ins.bind( "NameService", rootContext, false ); } catch( Exception e ) { throw new INTERNAL() ; } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?