java rmi 实例_java rmi的一个简单实例

参考网站  http://www.cnblogs.com/leslies2/archive/2011/05/20/2051844.html

实体类PersonEntity

package net.cs30.rmi;

import java.io.Serializable;

/**

* Created by caochenghua on 2017/4/4.

*/

public class PersonEntity implements Serializable {

private int id;

private String name;

private int age;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

服务接口PersonService

package net.cs30.rmi;

import java.rmi.Remote;

import java.rmi.RemoteException;

import java.util.List;

/**

* Created by caochenghua on 2017/4/4.

*/

public interface PersonService extends Remote {

public List GetList() throws RemoteException;

}

服务接口实现PersonServiceImpl

package net.cs30.rmi;

import java.rmi.RemoteException;

import java.rmi.server.UnicastRemoteObject;

import java.util.LinkedList;

import java.util.List;

/**

* Created by caochenghua on 2017/4/4.

*/

public class PersonServiceImpl extends UnicastRemoteObject implements PersonService {

protected PersonServiceImpl() throws RemoteException {

super();

}

@Override

public List GetList() throws RemoteException {

System.out.println("Get Person Start!");

List personEntityList=new LinkedList<>();

PersonEntity personEntity=new PersonEntity();

personEntity.setAge(10);

personEntity.setId(0);

personEntity.setName("cao");

personEntityList.add(personEntity);

PersonEntity personEntity2=new PersonEntity();

personEntity2.setAge(10);

personEntity2.setId(123);

personEntity2.setName("horizon");

personEntityList.add(personEntity2);

return personEntityList;

}

}

服务器端测试代码Program

package net.cs30.rmi;

import java.rmi.Naming;

import java.rmi.registry.LocateRegistry;

/**

* Created by caochenghua on 2017/4/4.

*/

public class Program {

public static void main(String[] args) {

try {

PersonService personService=new PersonServiceImpl();

//注册通讯端口

LocateRegistry.createRegistry(6600);

//注册通讯路径

Naming.rebind("rmi://127.0.0.1:6600/PersonService",personService);

System.out.println("Service Start!");

}catch (Exception e){

e.printStackTrace();

}

}

}

客户端测试代码ProgramClient

package net.cs30.rmi;

import java.rmi.Naming;

import java.util.List;

/**

* Created by caochenghua on 2017/4/4.

*/

public class ProgramClient {

public static void main(String[] args) {

try {

PersonService personService=(PersonService) Naming.lookup("rmi://127.0.0.1:6600/PersonService");

List personEntityList=personService.GetList();

for (PersonEntity personEntity:personEntityList){

System.out.println("ID:"+personEntity.getId()+" Age:"+personEntity.getAge()+" Name:"+personEntity.getName());

}

}catch (Exception e){

e.printStackTrace();

}

}

}

运行结果

服务器端输出

74d2be0f948a123b347a2c6753b41b3c.png

客户端输出

7f5c7af52d2eba2098f9a4426ee8fc5a.png

原文:http://www.cnblogs.com/caochenghua/p/6666795.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值