本文整理汇总了Java中com.sun.corba.se.spi.servicecontext.ServiceContexts.get方法的典型用法代码示例。如果您正苦于以下问题:Java ServiceContexts.get方法的具体用法?Java ServiceContexts.get怎么用?Java ServiceContexts.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.corba.se.spi.servicecontext.ServiceContexts
的用法示例。
在下文中一共展示了ServiceContexts.get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getStreamFormatVersionForReply
import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
/**
* If the RMI-IIOP maximum stream format version service context
* is present, it indicates the maximum stream format version we
* could use for the reply. If it isn't present, the default is
* 2 for GIOP 1.3 or greater, 1 for lower.
*
* This is only sent on requests. Clients can find out the
* server's maximum by looking for a tagged component in the IOR.
*/
public byte getStreamFormatVersionForReply() {
// NOTE: The request service contexts may indicate the max.
ServiceContexts svc = getRequestServiceContexts();
MaxStreamFormatVersionServiceContext msfvsc
= (MaxStreamFormatVersionServiceContext)svc.get(
MaxStreamFormatVersionServiceContext.SERVICE_CONTEXT_ID);
if (msfvsc != null) {
byte localMaxVersion = ORBUtility.getMaxStreamFormatVersion();
byte remoteMaxVersion = msfvsc.getMaximumStreamFormatVersion();
return (byte)Math.min(localMaxVersion, remoteMaxVersion);
} else {
// Defaults to 1 for GIOP 1.2 or less, 2 for
// GIOP 1.3 or higher.
if (getGIOPVersion().lessThan(GIOPVersion.V1_3))
return ORBConstants.STREAM_FORMAT_VERSION_1;
else
return ORBConstants.STREAM_FORMAT_VERSION_2;
}
}
示例2: consumeServiceContexts
import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
protected void consumeServiceContexts(ORB orb,
CorbaMessageMediator messageMediator)
{
ServiceContexts ctxts = messageMediator.getReplyServiceContexts();
ServiceContext sc ;
ORBUtilSystemException wrapper = ORBUtilSystemException.get( orb,
CORBALogDomains.RPC_PROTOCOL ) ;
if (ctxts == null) {
return; // no service context available, return gracefully.
}
sc = ctxts.get( SendingContextServiceContext.SERVICE_CONTEXT_ID ) ;
if (sc != null) {
SendingContextServiceContext scsc =
(SendingContextServiceContext)sc ;
IOR ior = scsc.getIOR() ;
try {
// set the codebase returned by the server
if (messageMediator.getConnection() != null) {
((CorbaConnection)messageMediator.getConnection()).setCodeBaseIOR(ior);
}
} catch (ThreadDeath td) {
throw td ;
} catch (Throwable t) {
throw wrapper.badStringifiedIor( t ) ;
}
}
// see if the version subcontract is present, if yes, then set
// the ORBversion
sc = ctxts.get( ORBVersionServiceContext.SERVICE_CONTEXT_ID ) ;
if (sc != null) {
ORBVersionServiceContext ovsc =
(ORBVersionServiceContext) sc;
ORBVersion version = ovsc.getVersion();
orb.setORBVersion( version ) ;
}
getExceptionDetailMessage(messageMediator, wrapper);
}
示例3: getServiceContext
import com.sun.corba.se.spi.servicecontext.ServiceContexts; //导入方法依赖的package包/类
/**
* Utility method to look up a service context with the given id and
* convert it to an IOP.ServiceContext. Uses the given HashMap as
* a cache. If not found in cache, the result is inserted in the cache.
*/
protected org.omg.IOP.ServiceContext
getServiceContext ( HashMap cachedServiceContexts,
ServiceContexts serviceContexts, int id )
{
org.omg.IOP.ServiceContext result = null;
Integer integerId = new Integer( id );
// Search cache first:
result = (org.omg.IOP.ServiceContext)
cachedServiceContexts.get( integerId );
// null could normally mean that either we cached the value null
// or it's not in the cache. However, there is no way for us to
// cache the value null in the following code.
if( result == null ) {
// Not in cache. Find it and put in cache.
// Get the desired "core" service context.
com.sun.corba.se.spi.servicecontext.ServiceContext context =
serviceContexts.get( id );
if (context == null)
throw stdWrapper.invalidServiceContextId() ;
// Convert the "core" service context to an
// "IOP" ServiceContext by writing it to a
// CDROutputStream and reading it back.
EncapsOutputStream out =
sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);
context.write( out, GIOPVersion.V1_2 );
InputStream inputStream = out.create_input_stream();
result = ServiceContextHelper.read( inputStream );
cachedServiceContexts.put( integerId, result );
}
// Good citizen: For increased efficiency, we assume that interceptors
// will not modify the returned ServiceContext. Otherwise, we would
// have to make a deep copy.
return result;
}