⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registerwithrmiserver.java

📁 网上虚拟社区
💻 JAVA
字号:
import java.rmi.*;
import java.rmi.registry.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.net.MalformedURLException;
import javax.swing.JPanel;
import javax.swing.JFrame;

import javax.swing.JOptionPane;

public class RegisterWithRMIServer{
	  /** Main method */
	  public static void main(String[] args) {
//	    System.setSecurityManager(new RMISecurityManager());

	    try {
	      BankServerInterfaceImpl obj =
	          new BankServerInterfaceImpl();
//		  System.out.println("here");
	      registerToRegistry("BankServerInterfaceImpl", obj, true);
//		  System.out.println("here");
	      
	      System.out.println("Bank server " + obj + " registered");
	    }
	    catch (RemoteException ex) {
	      ex.printStackTrace();
	    }
	    catch (MalformedURLException ex) {
	      ex.printStackTrace();
	    }
	    MyPanel applet = new MyPanel();
	    JFrame frame = new JFrame();
	    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    frame.setTitle("Bank Server SQL Operator ");
	    frame.getContentPane().add(applet, BorderLayout.CENTER);
	    applet.init();
	    applet.start();
	    frame.setSize(700, 500);
	    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
	    frame.setLocation((d.width - frame.getSize().width) / 2,
	      (d.height - frame.getSize().height) / 2);
	    frame.setVisible(true);
	  }

	  /** Register StudentImpl object with the RMI registry.
	   * @param name - name identifying the service in the RMI registry
	   * @param create - create local registry if necessary
	   * @throw RemoteException if cannot be exported or bound to RMI
	   *    registry
	   * @throw MalformedURLException if name cannot be used to
	   *    construct a valid URL
	   * @throw IllegalArgumentException if null passed as name
	   */
	  public static void registerToRegistry(String name, Remote obj,
	      boolean create) throws RemoteException, MalformedURLException{
	    if (name == null) throw new IllegalArgumentException(
	      "registration name can not be null");

	    try {
	      Naming.rebind(name, obj);
	    }
	    catch (RemoteException ex) {
	      if (create) {
	    	  try{
//	    		  System.out.println("here");
	    	        Registry r = LocateRegistry.createRegistry(Registry.REGISTRY_PORT);
//		    		  System.out.println("here");
	    	        r.rebind(name, obj);  
//		    		  System.out.println("here");
	    	  }
	    	  catch(Exception e){
	    		  System.out.println("Cann\'t rebind! ");
	    		  System.out.println(e);}

	      } else throw ex;
	    }
	  }
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -