📄 rmiobserverimple.java
字号:
package ntis.com.util;
import java.rmi.server.*;
import ntis.com.util.RmiObserver;
import java.util.Observer;
import java.rmi.RemoteException;
import java.rmi.Naming;
import ntis.com.base.BaseObserver;
public class RmiObserverImple extends UnicastRemoteObject implements RmiObserver {
private boolean invokedStandalone = false;
private BaseObserver observer = null;
public RmiObserverImple(String observerName) throws RemoteException {
try {
observer = (BaseObserver)Class.forName(observerName).newInstance();
}
catch(Exception e) {
System.err.println(e.getClass().getName());
throw new RemoteException();
}
}
public Object[] request(int type, Object[] params) throws RemoteException {
//TODO: 偙偺ntis.com.util.RmiObserver儊僜僢僪傪僀儞僾儕儊儞僩;
return observer.request(type, params);
}
public void exit() throws RemoteException {
//TODO: 偙偺ntis.com.util.RmiObserver儊僜僢僪傪僀儞僾儕儊儞僩;
(new TermThread()).start();
}
public static void main(String[] args) {
try {
RmiObserverImple rmiObserverImple = new RmiObserverImple(args[0]);
rmiObserverImple.invokedStandalone = true;
Naming.rebind(args[1], rmiObserverImple);
System.out.println("Server Start!");
}
catch(Exception e) {
System.err.println(e.getClass().getName());
System.err.println(e.getMessage());
}
}
}
class TermThread extends Thread {
TermThread() {}
public void run() {
try {
sleep(500);
}
catch(InterruptedException e) {
System.out.println(e.getClass().getName());
}
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -