首页 / 更多教程 / RMI几种发布和引用服务的方式
RMI几种发布和引用服务的方式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了RMI几种发布和引用服务的方式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2223字,纯文字阅读大概需要4分钟。
内容图文
![RMI几种发布和引用服务的方式](/upload/InfoBanner/zyjiaocheng/1098/3755a13521ed490ea40d028a8ab55822.jpg)
RMI是Java原生的分布式服务机制,支持Java对Java的分布式访问,采用Java的序列化协议进行CodeC操作。这里简单说下RMI发布服务和客户端引用服务的方式。
RMI发布服务时支持两种方式,一种是RMI本身的发布协议,另外一种是采用通用的JNDI的方式来发布服务。
采用JMI本身的发布协议,可以使用Registry接口,也可以使用Naming工具类。
使用Registry接口时,bind的服务名称只需要直接写服务名称就行,RMI内部会把它变成rmi://ip:port/servicename的方式
public class Server { public static void main(String[] args){ try { DemoService service = new DemoServiceImpl("ITer_ZC"); //指定端口 Registry registry = LocateRegistry.createRegistry(8888); // 注册服务 registry.bind("demoservice",service); } catch (Exception e) { e.printStackTrace(); } System.out.println("DemoService is running at Server"); } }
public class Server { public static void main(String[] args){ try { DemoService service = new DemoServiceImpl("ITer_ZC"); // 指定端口 LocateRegistry.createRegistry(8888); //完整的URI方式的服务名称 Naming.bind("rmi://10.2.43.50:8888/demoservice",service); } catch (Exception e) { e.printStackTrace(); } System.out.println("DemoService is running at Server"); } }
采用JNDI的方式来发布RMI服务,需要指定完整的URI方式的服务名称
public class Server { public static void main(String[] args){ try { DemoService service = new DemoServiceImpl("ITer_ZC"); Registry registry = LocateRegistry.createRegistry(8888); Context nameContext = new InitialContext(); nameContext.rebind("rmi://10.2.43.50:8888/demoservice", service); } catch (Exception e) { e.printStackTrace(); } System.out.println("DemoService is running at Server"); } }
客户端引用RMI服务时,也可以采用两种方式来寻找服务,一种是RMI本身的类,一种是JNDI接口的类。
采用RMI本身的类来引用RMI服务
public class Client { public static void main(String[] args){ String url = "rmi://10.2.43.50:8888/demoservice"; try { DemoService service = (DemoService)Naming.lookup(url); System.out.println(service.sayHi()); } catch (Exception e) { e.printStackTrace(); } } }
采用JNDI接口来引用RMI服务
public class Client { public static void main(String[] args){ String url = "rmi://10.2.43.50:8888/demoservice"; Context nameContext; try { nameContext = new InitialContext(); DemoService service = (DemoService)nameContext.lookup(url); System.out.println(service.sayHi()); } catch (Exception e) { e.printStackTrace(); } } }
转载请注明来源: http://blog.csdn.net/iter_zc
原文:http://blog.csdn.net/iter_zc/article/details/40186577
内容总结
以上是互联网集市为您收集整理的RMI几种发布和引用服务的方式全部内容,希望文章能够帮你解决RMI几种发布和引用服务的方式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。