rmiobserverimple.java

来自「java 小型系统连接池参照适用于中小型网站」· Java 代码 · 共 64 行

JAVA
64
字号
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 + =
减小字号Ctrl + -
显示快捷键?