初识:rmi __完整的example

interface:

package rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface PerfectTimeI extends Remote {

 public abstract String getHelloWorld(String name) throws RemoteException;
}

impl:

 package rmi.impl;

import java.rmi.RemoteException;

import rmi.PerfectTimeI;

public class PerfectTimeImpl implements PerfectTimeI {
 
 public String getHelloWorld(String name) throws RemoteException
 {
  return name+", hello world!";
 }
}

server:

 package server;

import java.rmi.RMISecurityManager;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;

import rmi.PerfectTimeI;
import rmi.impl.PerfectTimeImpl;

public class Start_rmi {

 public static void main(String args[]) {
  System.out.println("");
  System.setSecurityManager(new RMISecurityManager());
  try {
   PerfectTimeImpl pt = new PerfectTimeImpl();
   PerfectTimeI per = (PerfectTimeI) UnicastRemoteObject.exportObject(
     pt, 0);
   Registry registry = LocateRegistry.getRegistry();
   registry.bind("PerfectTimeI_lookup", per);
   System.out.println("-----Ready to do time ");
  } catch (Exception e) {
   System.out.println(e.getLocalizedMessage());
   e.printStackTrace();
  }
 }
}

安全的文件名:

rmi.policy

grant {
permission java.security.AllPermission "", "";
};

在VM argvments:加client,和server两个端都要加上

-Djava.security.policy=file:/D:/guanliangqi/workspace/demo/bin/rmi.policy -Xms128m -Xmx256m

注意在CLASSPAHT中加入本工程的路径:D:/zhangxiao/workspace/demo/bin

1.先起动文件 start.bat        内容:

start rmiregistry

2.running server端

3.running client端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值