本文整理汇总了Java中com.sun.corba.se.spi.ior.ObjectKey.getTemplate方法的典型用法代码示例。如果您正苦于以下问题:Java ObjectKey.getTemplate方法的具体用法?Java ObjectKey.getTemplate怎么用?Java ObjectKey.getTemplate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.corba.se.spi.ior.ObjectKey
的用法示例。
在下文中一共展示了ObjectKey.getTemplate方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: locate
import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
/** XXX/REVISIT:
* We do not want to look for a servant in the POA/ServantManager case,
* but we could in most other cases. The OA could have a method that
* returns true if the servant MAY exist, and false only if the servant
* definitely DOES NOT exist.
*
* XXX/REVISIT:
* We may wish to indicate OBJECT_HERE by some mechanism other than
* returning a null result.
*
* Called from ORB.locate when a LocateRequest arrives.
* Result is not always absolutely correct: may indicate OBJECT_HERE
* for non-existent objects, which is resolved on invocation. This
* "bug" is unavoidable, since in general the object may be destroyed
* between a locate and a request. Note that this only checks that
* the appropriate ObjectAdapter is available, not that the servant
* actually exists.
* Need to signal one of OBJECT_HERE, OBJECT_FORWARD, OBJECT_NOT_EXIST.
* @return Result is null if object is (possibly) implemented here, otherwise
* an IOR indicating objref to forward the request to.
* @exception OBJECT_NOT_EXIST is thrown if we know the object does not
* exist here, and we are not forwarding.
*/
public IOR locate(ObjectKey okey)
{
try {
if (orb.subcontractDebugFlag)
dprint(".locate->");
ObjectKeyTemplate oktemp = okey.getTemplate() ;
try {
checkServerId(okey);
} catch (ForwardException fex) {
return fex.getIOR() ;
}
// Called only for its side-effect of throwing appropriate exceptions
findObjectAdapter(oktemp);
return null ;
} finally {
if (orb.subcontractDebugFlag)
dprint(".locate<-");
}
}
示例2: checkServerId
import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void checkServerId(ObjectKey okey)
{
try {
if (orb.subcontractDebugFlag) {
dprint(".checkServerId->");
}
ObjectKeyTemplate oktemp = okey.getTemplate() ;
int sId = oktemp.getServerId() ;
int scid = oktemp.getSubcontractId() ;
if (!orb.isLocalServerId(scid, sId)) {
if (orb.subcontractDebugFlag) {
dprint(".checkServerId: bad server id");
}
orb.handleBadServerId(okey);
}
} finally {
if (orb.subcontractDebugFlag) {
dprint(".checkServerId<-");
}
}
}
示例3: init
import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
private void init( InputStream istr )
{
// First, read all of the IIOP IOR data
GIOPVersion version = new GIOPVersion() ;
version.read( istr ) ;
IIOPAddress primary = new IIOPAddressImpl( istr ) ;
byte[] key = EncapsulationUtility.readOctets( istr ) ;
ObjectKey okey = orb.getObjectKeyFactory().create( key ) ;
oktemp = okey.getTemplate() ;
oid = okey.getId() ;
proftemp = IIOPFactories.makeIIOPProfileTemplate( orb,
version, primary ) ;
// Handle any tagged components (if applicable)
if (version.getMinor() > 0)
EncapsulationUtility.readIdentifiableSequence( proftemp,
orb.getTaggedComponentFactoryFinder(), istr ) ;
// If there is no codebase in this IOR and there IS a
// java.rmi.server.codebase property set, we need to
// update the IOR with the local codebase. Note that
// there is only one instance of the local codebase, but it
// can be safely shared in multiple IORs since it is immutable.
if (uncachedGetCodeBase() == null) {
JavaCodebaseComponent jcc = LocalCodeBaseSingletonHolder.comp ;
if (jcc != null) {
if (version.getMinor() > 0)
proftemp.add( jcc ) ;
codebase = jcc.getURLs() ;
}
// Whether codebase is null or not, we have it,
// and so getCodebase ned never call uncachedGetCodebase.
cachedCodebase = true;
}
}
示例4: handleRequestRequest
import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void handleRequestRequest(CorbaMessageMediator messageMediator)
{
// Does nothing if already unmarshaled.
((CDRInputObject)messageMediator.getInputObject()).unmarshalHeader();
ORB orb = (ORB)messageMediator.getBroker();
orb.checkShutdownState();
ObjectKey okey = messageMediator.getObjectKey();
if (orb.subcontractDebugFlag) {
ObjectKeyTemplate oktemp = okey.getTemplate() ;
dprint( ".handleRequest: " + opAndId(messageMediator)
+ ": dispatching to scid: " + oktemp.getSubcontractId());
}
CorbaServerRequestDispatcher sc = okey.getServerRequestDispatcher(orb);
if (orb.subcontractDebugFlag) {
dprint(".handleRequest: " + opAndId(messageMediator)
+ ": dispatching to sc: " + sc);
}
if (sc == null) {
throw wrapper.noServerScInDispatch() ;
}
// NOTE:
// This is necessary so mediator can act as ResponseHandler
// and pass necessary info to response constructors located
// in the subcontract.
// REVISIT - same class right now.
//messageMediator.setProtocolHandler(this);
try {
orb.startingDispatch();
sc.dispatch(messageMediator);
} finally {
orb.finishedDispatch();
}
}
示例5: handleRequestRequest
import com.sun.corba.se.spi.ior.ObjectKey; //导入方法依赖的package包/类
protected void handleRequestRequest(CorbaMessageMediator messageMediator)
{
// Does nothing if already unmarshaled.
((CDRInputObject)messageMediator.getInputObject()).unmarshalHeader();
ORB orb = (ORB)messageMediator.getBroker();
synchronized (orb) {
orb.checkShutdownState();
}
ObjectKey okey = messageMediator.getObjectKey();
if (orb.subcontractDebugFlag) {
ObjectKeyTemplate oktemp = okey.getTemplate() ;
dprint( ".handleRequest: " + opAndId(messageMediator)
+ ": dispatching to scid: " + oktemp.getSubcontractId());
}
CorbaServerRequestDispatcher sc = okey.getServerRequestDispatcher(orb);
if (orb.subcontractDebugFlag) {
dprint(".handleRequest: " + opAndId(messageMediator)
+ ": dispatching to sc: " + sc);
}
if (sc == null) {
throw wrapper.noServerScInDispatch() ;
}
// NOTE:
// This is necessary so mediator can act as ResponseHandler
// and pass necessary info to response constructors located
// in the subcontract.
// REVISIT - same class right now.
//messageMediator.setProtocolHandler(this);
try {
orb.startingDispatch();
sc.dispatch(messageMediator);
} finally {
orb.finishedDispatch();
}
}