本文整理汇总了Java中com.sun.corba.se.spi.oa.OADestroyed类的典型用法代码示例。如果您正苦于以下问题:Java OADestroyed类的具体用法?Java OADestroyed怎么用?Java OADestroyed使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OADestroyed类属于com.sun.corba.se.spi.oa包,在下文中一共展示了OADestroyed类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: servant_preinvoke
import com.sun.corba.se.spi.oa.OADestroyed; //导入依赖的package包/类
public ServantObject servant_preinvoke( org.omg.CORBA.Object self,
String operation, Class expectedType )
{
OAInvocationInfo cachedInfo = getCachedInfo() ;
if (!checkForCompatibleServant( cachedInfo, expectedType ))
return null ;
// Note that info is shared across multiple threads
// using the same subcontract, each of which may
// have its own operation. Therefore we need to clone it.
OAInvocationInfo info = new OAInvocationInfo( cachedInfo, operation ) ;
orb.pushInvocationInfo( info ) ;
try {
info.oa().enter() ;
} catch (OADestroyed pdes) {
throw wrapper.preinvokePoaDestroyed( pdes ) ;
}
return info ;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:FullServantCacheLocalCRDImpl.java
示例2: getServant
import com.sun.corba.se.spi.oa.OADestroyed; //导入依赖的package包/类
private java.lang.Object getServant(ObjectAdapter objectAdapter, byte[] objectId,
String operation)
throws OADestroyed
{
try {
if (orb.subcontractDebugFlag) {
dprint(".getServant->");
}
OAInvocationInfo info = objectAdapter.makeInvocationInfo(objectId);
info.setOperation(operation);
orb.pushInvocationInfo(info);
objectAdapter.getInvocationServant(info);
return info.getServantContainer() ;
} finally {
if (orb.subcontractDebugFlag) {
dprint(".getServant<-");
}
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:21,代码来源:CorbaServerRequestDispatcherImpl.java
示例3: getCachedInfo
import com.sun.corba.se.spi.oa.OADestroyed; //导入依赖的package包/类
protected synchronized OAInvocationInfo getCachedInfo()
{
if (!servantIsLocal)
throw wrapper.servantMustBeLocal() ;
if (cachedInfo == null) {
ObjectAdapter oa = oaf.find( oaid ) ;
cachedInfo = oa.makeInvocationInfo( objectId ) ;
// InvocationInfo must be pushed before calling getInvocationServant
orb.pushInvocationInfo( cachedInfo ) ;
try {
oa.enter( );
oa.getInvocationServant( cachedInfo ) ;
} catch (ForwardException freq) {
throw wrapper.illegalForwardRequest( freq ) ;
} catch( OADestroyed oades ) {
// This is an error since no user of this implementation
// should ever throw this exception
throw wrapper.adapterDestroyed( oades ) ;
} finally {
oa.returnServant( );
oa.exit( );
orb.popInvocationInfo() ;
}
}
return cachedInfo ;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:ServantCacheLocalCRDBase.java
示例4: servantEnter
import com.sun.corba.se.spi.oa.OADestroyed; //导入依赖的package包/类
private OAInvocationInfo servantEnter( ObjectAdapter oa ) throws OADestroyed
{
oa.enter() ;
OAInvocationInfo info = oa.makeInvocationInfo( objectId ) ;
orb.pushInvocationInfo( info ) ;
return info ;
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:10,代码来源:POALocalCRDImpl.java
示例5: enter
import com.sun.corba.se.spi.oa.OADestroyed; //导入依赖的package包/类
public void enter() throws OADestroyed
{
try {
lock() ;
if (debug) {
ORBUtility.dprint( this, "Calling enter on poa " + this ) ;
}
// Avoid deadlock if this is the thread that is processing the
// POA.destroy because this is the only thread that can notify
// waiters on beingDestroyedCV. This can happen if an
// etherealize upcall invokes a method on a colocated object
// served by this POA.
while ((state == STATE_DESTROYING) &&
(isDestroying.get() == Boolean.FALSE)) {
try {
beingDestroyedCV.await();
} catch (InterruptedException ex) {
// NO-OP
}
}
if (!waitUntilRunning())
throw new OADestroyed() ;
invocationCount++;
} finally {
if (debug) {
ORBUtility.dprint( this, "Exiting enter on poa " + this ) ;
}
unlock() ;
}
manager.enter();
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:38,代码来源:POAImpl.java
注:本文中的com.sun.corba.se.spi.oa.OADestroyed类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论