为什么调用webservice接口只有 string arg0_Java RMI原来如此简单,一个Demo教你如何调用远程接口...

Java RMI,是Java在JDK1.2中实现的远程方法调用,大大增强了Java开发分布式应用的能力,平时我们都是依赖第三方的框架开发服务接口,如:Webservice、Rest接口等等,但基于纯Java的远程方法调用-RMI,你了解吗?其原理也是Socket,不依赖任何Jar包,所有的类都在JDK里的java.rmi.*下,下面通过一个Demo学习其调用过程,超简单!

先看工程目录结构:

8936fdb44cdb746e4b894537b799332d.png

RMI工程目录结构

一、RMI服务端,创建一个Java工程RMIServerTest

1、定义RMI远程调用接口IUserManager,这个类定义了客户端调用远程服务的功能,需要注意接口要继承Remote

public interface IUserManager extends Remote {public String getUserName() throws RemoteException;public Account getAdminAccount() throws RemoteException;}

2、创建实现类UserManagerImpl

public class UserManagerImpl implements IUserManager { public UserManagerImpl() throws RemoteException { } private static final long serialVersionUID = -3111492742628447261L; public String getUserName() throws RemoteException{ return "TT"; } public Account getAdminAccount() throws RemoteException{ Account account=new Account(); account.setUsername("TT"); account.setPassword("123456"); return account; }}

需要注意的是:实现类中的每个方法均需抛出RemoteException异常。

3、创建Java Bean,命名为:Account

public class Account implements Serializable, Cloneable {private static final long serialVersionUID = -1858518369668584532L;private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}

以上三个类无需多介绍,都是普通的接口、接口实现类以及实体类。

4、RMI服务端入口类Entry.java

public class Entry {

public static void main(String[] args) throws AlreadyBoundException,RemoteException {

UserManagerImpl userManager = new UserManagerImpl();

IUserManager userManagerI = (IUserManager) UnicastRemoteObject.exportObject(userManager, 0);

Registry registry = LocateRegistry.createRegistry(2002);

registry.rebind("userManager

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值