当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

<b>用RMI实现基于Java的分布式计算</b>[Java编程]

赞助商链接



  本文“<b>用RMI实现基于Java的分布式计算</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java 2 Enterprise Edition(J2EE)远程办法调用(Remote Method Invocation,RMI)框架答应你成立透明的、分布式的服务和利用程序.基于RMI的利用程序由Java对象构成,这些对象彼此调用,同时忽视对方的位置.换言之,一个Java对象可调用另一个虚拟机上的某个Java对象的办法,整个历程和调用同一个虚拟机上的某个Java对象的办法无异.驻留在差别虚拟机上的对象为了彼此得到引用,可以利用RMI的查找服务,大概将对象引用作为办法调用的一个参数大概返回值来接纳.参数和返回值借助Java的对象序列化机制由RMI来举行封送.

远程对象和接口

Java供应了一个完好限命名称为java.rmi.Remote的接口.任何对象要想参与和另一个Java对象的远程会话,就必须直接或间接地实现该接口.特别要注意的是,任何由java.rmi.Remote接口来标识的对象都表示着它的办法可从其他任何虚拟机举行调用.实现了java.rmi.Remote接口的对象普通称为“远程对象”,必须采取以下方法来声明它的办法:

每个支持远程调用的办法都必须在其throws子句中声明java.rmi.RemoteException.

关于一个可远程调用的办法,它的每个非基本(nonprimitive)参数大概返回值都必须直接或间接地声明为实现了java.io.Serializable接口.

除了实现java.rmi.Remote接口和精确声明任何远程办法之外,远程对象必须供应一个无参数的构造函数,它能引发一个java.rmi.RemoteException非常.这就保证了对象可基于一种序列化状况来远程构造.

远程对象必须导出,以接纳传入的远程办法调用.为此,你普通需求扩大java.rmi.server.UnicastRemoteObject大概java.rmi.activation.Activatable.通过对此中任何一个类举行扩大,远程对象便可在成立时自动导出.

以下接口定义展示了java.rmi.Remote接口最典型的用法:

import java.rmi.Remote;
import java.rmi.RemoteException;
public interface TimeKeeper extends Remote
{
public String currentDate() throws RemoteException;
public String currentTime() throws RemoteException;
}

由于String类声明为实现了java.io.Serializable接口,所以String是远程办法的有效返回范例.

以下代码展示了若何实现TimeKeeper接口,以便定义一个有效的远程对象:

import java.rmi.RemoteException;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class TimeKeeperImpl implements TimeKeeper
{
public TimeKeeperImpl()
throws RemoteException
{
}
public String currentDate() throws RemoteException
{
Calendar cal = new GregorianCalendar();
String retVal = (cal.get(Calendar.MONTH) + "/" +
cal.get(Calendar.DAY_OF_MONTH) + "/" +
cal.get(Calendar.YEAR));
return retVal;
}
public String currentTime() throws RemoteException
{
Calendar cal = new GregorianCalendar();
String retVal = (cal.get(Calendar.HOUR_OF_DAY) + ":" +
cal.get(Calendar.MINUTE) + ":" +
cal.get(Calendar.SECOND));
return retVal;
}
}


  以上是“<b>用RMI实现基于Java的分布式计算</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .