protected RemotableMessageReceiver getRemoteMessageReceiver()
throws MIFReceiverException {
if (this.messageReceiver != null) {
return this.messageReceiver;
}
try {
Registry registry = LocateRegistry.getRegistry(rmiHost, rmiPort);
this.messageReceiver = (RemotableMessageReceiver) registry
.lookup(this.serviceName);
} catch (Exception ex) {
throw new MIFReceiverException(
"look up remote message receiver failed!", this, ex);
}
return this.messageReceiver;
}
public void invokeProcessFlow(String processId) throws MIFReceiverException {
try {
RemotableMessageReceiver messageReceiver = getRemoteMessageReceiver();
messageReceiver.invokeProcessFlow(processId);
} catch (RemoteException e) {
this.messageReceiver = null;
throw new MIFReceiverException("invoke process: " + processId
+ " fails, encounter error: " + e.getMessage(), this, e);
}
}
|