本文整理汇总了Java中com.sun.corba.se.spi.protocol.CorbaMessageMediator.isOneWay方法的典型用法代码示例。如果您正苦于以下问题:Java CorbaMessageMediator.isOneWay方法的具体用法?Java CorbaMessageMediator.isOneWay怎么用?Java CorbaMessageMediator.isOneWay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.sun.corba.se.spi.protocol.CorbaMessageMediator
的用法示例。
在下文中一共展示了CorbaMessageMediator.isOneWay方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: waitForResponse
import com.sun.corba.se.spi.protocol.CorbaMessageMediator; //导入方法依赖的package包/类
public InputObject waitForResponse(MessageMediator mediator)
{
CorbaMessageMediator messageMediator = (CorbaMessageMediator) mediator;
try {
InputObject returnStream = null;
if (orb.transportDebugFlag) {
dprint(".waitForResponse->: " + opAndId(messageMediator));
}
Integer requestId = messageMediator.getRequestIdInteger();
if (messageMediator.isOneWay()) {
// The waiter is removed in releaseReply in the same
// way as a normal request.
if (orb.transportDebugFlag) {
dprint(".waitForResponse: one way - not waiting: "
+ opAndId(messageMediator));
}
return null;
}
OutCallDesc call = out_calls.get(requestId);
if (call == null) {
throw wrapper.nullOutCall(CompletionStatus.COMPLETED_MAYBE);
}
synchronized(call.done) {
while (call.inputObject == null && call.exception == null) {
// Wait for the reply from the server.
// The ReaderThread reads in the reply IIOP message
// and signals us.
try {
if (orb.transportDebugFlag) {
dprint(".waitForResponse: waiting: "
+ opAndId(messageMediator));
}
call.done.wait();
} catch (InterruptedException ie) {};
}
if (call.exception != null) {
if (orb.transportDebugFlag) {
dprint(".waitForResponse: exception: "
+ opAndId(messageMediator));
}
throw call.exception;
}
returnStream = call.inputObject;
}
// REVISIT -- exceptions from unmarshaling code will
// go up through this client thread!
if (returnStream != null) {
// On fragmented streams the header MUST be unmarshaled here
// (in the client thread) in case it blocks.
// If the header was already unmarshaled, this won't
// do anything
// REVISIT: cast - need interface method.
((CDRInputObject)returnStream).unmarshalHeader();
}
return returnStream;
} finally {
if (orb.transportDebugFlag) {
dprint(".waitForResponse<-: " + opAndId(messageMediator));
}
}
}