⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toafactory.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)TOAFactory.java	1.18 05/11/17 *  * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.impl.oa.toa ;import java.util.Map ;import java.util.HashMap ;import org.omg.CORBA.INTERNAL ;import org.omg.CORBA.CompletionStatus ;import com.sun.corba.se.spi.oa.ObjectAdapterFactory ;import com.sun.corba.se.spi.oa.ObjectAdapter ;import com.sun.corba.se.spi.orb.ORB ;import com.sun.corba.se.spi.ior.ObjectAdapterId ;import com.sun.corba.se.impl.oa.toa.TOAImpl ;import com.sun.corba.se.impl.oa.toa.TransientObjectManager ;import com.sun.corba.se.impl.javax.rmi.CORBA.Util ;import com.sun.corba.se.impl.ior.ObjectKeyTemplateBase ;import com.sun.corba.se.spi.logging.CORBALogDomains ;import com.sun.corba.se.impl.logging.ORBUtilSystemException ;public class TOAFactory implements ObjectAdapterFactory {    private ORB orb ;    private ORBUtilSystemException wrapper ;    private TOAImpl toa ;    private Map codebaseToTOA ;    private TransientObjectManager tom ;     public ObjectAdapter find ( ObjectAdapterId oaid )     {	if (oaid.equals( ObjectKeyTemplateBase.JIDL_OAID )  )	    // Return the dispatch-only TOA, which can dispatch	    // request for objects created by any TOA.	    return getTOA() ;	else 	    throw wrapper.badToaOaid() ;    }    public void init( ORB orb )    {	this.orb = orb ;	wrapper = ORBUtilSystemException.get( orb,	    CORBALogDomains.OA_LIFECYCLE ) ;	tom = new TransientObjectManager( orb ) ;	codebaseToTOA = new HashMap() ;    }    public void shutdown( boolean waitForCompletion )    {	if (Util.instance != null) {	    Util.instance.unregisterTargetsForORB(orb);	}    }    public synchronized TOA getTOA( String codebase )    {	TOA toa = (TOA)(codebaseToTOA.get( codebase )) ;	if (toa == null) {	    toa = new TOAImpl( orb, tom, codebase ) ;	    codebaseToTOA.put( codebase, toa ) ;	}	return toa ;    }    public synchronized TOA getTOA()     {	if (toa == null)	    // The dispatch-only TOA is not used for creating	    // objrefs, so its codebase can be null (and must	    // be, since we do not have a servant at this point)	    toa = new TOAImpl( orb, tom, null ) ;	return toa ;    }    public ORB getORB()     {	return orb ;    }} ;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -