本文整理汇总了Java中com.sun.corba.se.spi.oa.OAInvocationInfo类的典型用法代码示例。如果您正苦于以下问题:Java OAInvocationInfo类的具体用法?Java OAInvocationInfo怎么用?Java OAInvocationInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OAInvocationInfo类属于com.sun.corba.se.spi.oa包,在下文中一共展示了OAInvocationInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: servant_preinvoke
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的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 ;
}
示例2: getServant
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的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<-");
}
}
}
示例3: servant_postinvoke
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void servant_postinvoke(org.omg.CORBA.Object self,
ServantObject servantobj)
{
OAInvocationInfo cachedInfo = getCachedInfo() ;
cachedInfo.oa().exit() ;
orb.popInvocationInfo() ;
}
示例4: servant_preinvoke
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的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 copy it.
OAInvocationInfo info = new OAInvocationInfo(cachedInfo, operation) ;
orb.pushInvocationInfo( info ) ;
return info ;
}
示例5: servant_preinvoke
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public ServantObject servant_preinvoke( org.omg.CORBA.Object self,
String operation, Class expectedType )
{
OAInvocationInfo cachedInfo = getCachedInfo() ;
if (checkForCompatibleServant( cachedInfo, expectedType ))
return cachedInfo ;
else
return null ;
}
示例6: getCachedInfo
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的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 ;
}
示例7: servantEnter
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo servantEnter( ObjectAdapter oa ) throws OADestroyed
{
oa.enter() ;
OAInvocationInfo info = oa.makeInvocationInfo( objectId ) ;
orb.pushInvocationInfo( info ) ;
return info ;
}
示例8: getInvocationServant
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void getInvocationServant( OAInvocationInfo info )
{
try {
lock() ;
if (debug) {
ORBUtility.dprint( this,
"Calling getInvocationServant on poa " + this ) ;
}
java.lang.Object servant = null ;
try {
servant = mediator.getInvocationServant( info.id(),
info.getOperation() );
} catch (ForwardRequest freq) {
throw new ForwardException( getORB(), freq.forward_reference ) ;
}
info.setServant( servant ) ;
} finally {
if (debug) {
ORBUtility.dprint( this,
"Exiting getInvocationServant on poa " + this ) ;
}
unlock() ;
}
}
示例9: peekThrowNoContext
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo peekThrowNoContext()
throws
NoContext
{
OAInvocationInfo invocationInfo = null;
try {
invocationInfo = orb.peekInvocationInfo() ;
} catch (EmptyStackException e) {
throw new NoContext();
}
return invocationInfo;
}
示例10: peekThrowInternal
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
private OAInvocationInfo peekThrowInternal()
{
OAInvocationInfo invocationInfo = null;
try {
invocationInfo = orb.peekInvocationInfo() ;
} catch (EmptyStackException e) {
// The completion status is maybe because this could happen
// after the servant has been invoked.
throw wrapper.poacurrentUnbalancedStack( e ) ;
}
return invocationInfo;
}
示例11: returnServant
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void returnServant()
{
OAInvocationInfo info = orb.peekInvocationInfo();
byte[] id = info.id() ;
ActiveObjectMap.Key key = new ActiveObjectMap.Key( id ) ;
AOMEntry entry = activeObjectMap.get( key ) ;
entry.exit() ;
}
示例12: returnServant
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void returnServant()
{
OAInvocationInfo info = orb.peekInvocationInfo();
if (locator == null)
return;
try {
poa.unlock() ;
locator.postinvoke(info.id(), (POA)(info.oa()),
info.getOperation(), info.getCookieHolder().value,
(Servant)(info.getServantContainer()) );
} finally {
poa.lock() ;
}
}
示例13: peekInvocationInfo
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public OAInvocationInfo peekInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
return (OAInvocationInfo)(stack.peek()) ;
}
示例14: pushInvocationInfo
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public void pushInvocationInfo( OAInvocationInfo info )
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
stack.push( info ) ;
}
示例15: popInvocationInfo
import com.sun.corba.se.spi.oa.OAInvocationInfo; //导入依赖的package包/类
public OAInvocationInfo popInvocationInfo()
{
synchronized (this) {
checkShutdownState();
}
StackImpl stack = (StackImpl)(OAInvocationInfoStack.get()) ;
return (OAInvocationInfo)(stack.pop()) ;
}