RMI规范--四

来源:互联网 发布:私人网盘软件 编辑:程序博客网 时间:2024/06/13 05:00
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>RMI规范--第四章 客户机接口 程序员在编写使用远程对象的 applet 或应用程序时,需要注意 java.rmi 包 中可用的 RMI 系统客户机可视接口。 4.1 远程接口 package java.rmi; public interface Remote {} java.rmi.Remote 接口用来识别所有远程接口;所有远程对象必须直接或间接 实现此接口。 实现类可以实现任意数目的远程接口,并可扩展其它远程实现类。RMI 提供一些 远程对象实现可以扩展的类,有助于远程对象的创建。这些类是 java.rmi.server.UnicastRemoteObject 和 java.rmi.activation.Activatable。 有关如何定义远程接口的详细信息,参见“java.rmi.Remote 接口”(2.4.1)一 节。 4.2 RemoteException 类 类 java.rmi.RemoteException 是许多在执行远程方法调用时可能发生的、与 通信有关的异常的通用超类。远程接口中的每种方法(也是一个接口)必须在其 throws 子句中列出 RemoteException(或其超类,如 java.io.IOException 或 java.lang.Exception)。
package java.rmi; public class RemoteException extends java.io.IOException { public Throwable detail; public RemoteException(); public RemoteException(String s); public RemoteException(String s, Throwable ex); public String getMessage(); public void printStackTrace(); public void printStackTrace(java.io.PrintStream ps); public void printStackTrace(java.io.PrintWriter pw); } 
RemoteException 可用详细消息(即 s)和一个嵌套异常(即 ex,Throwable) 进行构造。嵌套异常 ex 在构造函数的第三种形式中被指定为参数,通常是 RMI 调用过程中发生的基本 I/O 异常。 getMessage 方法返回异常的详细消息,包括嵌套异常(如果有)中的消息。 printStackTrace 方法在类 java.lang.Throwable 中将被覆盖掉,以打印嵌套异 常的堆栈跟踪。 4.3 Naming 类 java.rmi.Naming 类提供存储和获得对远程对象注册服务程序中远程对象进行 引用的方法。Naming 类中的方法以如下形式的,URL 格式的 java.lang.String 作为其中的一个参数: //host:port/name 其中 host 是注册服务程序所在的主机(远程或本地),port 是注册服务程序 接收调用的端口号,name 是注 册表未作出解释的简单字符串。host 和 port 是可选的。如果省略了 host,则主机缺省值为本地 主机。如果省略了 port, 则端口缺省值为 1099,即 RMI 系统注册服务程序 rmiregistry 所用的“众所 周知”的端口。 为远程对象绑定名称即为稍后使用的远程对象关联或注册名称,可用于查询该远 程对象。可以使用 Naming 类的 bind 或 rebind 方法将远程对象与名称相关联 。 当远程对象已用 RMI 注册服务程序在本地主机上进行过注册(绑定)后,远程 (或本地)主机上的调用程序就可以按名称查询远程对象、获得其引用,然后在 对象上调用远程方法。必要时,某一主机上运行的服务器可以共享一个注册服务 程序。 服务器的各个进程也可创建和使用自己的注册服务程序 (详细信息,参见 java.rmi.registry.LocateRegistry.createRegistry 方法) 。
package java.rmi; public final class Naming { public static Remote lookup(String url) throws NotBoundException, java.net.MalformedURLException, RemoteExceptio n; public static void bind(String url, Remote obj) throws AlreadyBoundException, java.net.MalformedURLException, RemoteExce ption; public static void rebind(String url, Remote obj) throws RemoteException, java.net.MalformedURLException; public static void unbind(String url) throws RemoteException, NotBoundException, java.net.MalformedURLExce ptio n; public static String[] list(String url) throws RemoteException, java.net.MalformedURLException; } 
lookup 方法返回与名称的文件部分相关联的远程对象。如果名称未绑定到对象上 ,则抛出 NotBoundException。 bind 方法将把指定名称绑定到远程对象上。如果该名称已绑定到某一对象上, 则抛出 AlreadyBoundException。 rebind 方法总将名称绑定到对象上,无论该名称是否已绑定。原有绑定将丢失。 unbind 方法将取消名称和远程对象间的绑定。如果没有绑定,则抛出 NotBound Exception。 list 方法返回一个 String 对象的数组,该对象包含注册服务程序中绑定 URL 的快照。 为了向注册服务程序查询其内容列表,只需要 URL 上的主机名和端口信息;因此 ,URL 的“file”部分将被忽略。 ---------------------------------------------------------------------- ---------- 注意 - 这些方法也可能抛出 java.rmi.AccessException。AccessException 表 示调用程序无执 行特定操作的权限。例如,只有运行注册服务程序的主机上的本地客户机才允许 执行 bind、rebind 和 unbind 操作。但任何非本地客户机都可调用 lookup 操作。 RMI规范--二 RMI规范--三 RMI规范--四 RMI规范--五 RMI规范--六 RMI规范--七 RMI规范--八 RMI规范--九
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 保湿面膜排行榜 深层清洁面膜排行榜 燕窝面膜多少钱一盒 什么牌子面膜去皱好 蚕丝补水面膜 清洁面膜哪个牌子好 完美面膜价格 男生用什么面膜好 哪种面膜比较好 面膜可以天天 什么品牌面膜补水效果好 面膜到底好不好 雀斑和黄褐斑的区别图 土豆祛斑的正确方法 泥膜多久做一次 面模 颈膜 美白补水护肤品排行榜 美白面部 用什么敷脸好 绿茶洗面奶 怎么自制补水面膜 美白效果好的面膜 补水效果好的面膜 每天可以用的面膜 珍珠粉怎么做面膜 怎样用蜂蜜做面膜 用蜂蜜怎么做面膜 有什么好用的面膜 油性皮肤自制面膜 为什么医生不建议用面膜 孕妇可以用哪些面膜 线雕后多久可以敷面膜 什么牌子的压缩面膜好用 平价好用的睡眠面膜 什么牌子的压缩面膜好 面茶 老北京面茶 天津面茶 人头骨肉茶面完整 面茶的做法和配方