hession RMI 远程调用
/**
*
* @author administror
* 在java中,需要去extends 继承java.rmi.Remote 接口,才能称为在于服务器流的远程对象。
* 各客服端调用
*
*/
public interface Hello extends Remote {
//实现了Remote接口,该接口的方法可以被客服端远程调用
public String helloWord() throws java.rmi.RemoteException;
public String sayGoodBy() throws java.rmi.RemoteException;
}
//远程调用对象必须继承java.rmi.server.UniCaseRemoteObject
//这样才能保证我们的远程调用对象在被调用时会把自身的对象进行拷贝并且以socket形式传输给客服端
public class HelloImpl extends UnicastRemoteObject implements Hello {
/**
* 序列化ID
*/
private static final long serialVersionUID = 1L;
/**
* 该构造方法必须实现
* @throws RemoteException
*/
protected HelloImpl() throws RemoteException {
super();
// TODO Auto-generated constructor stub
}
public String helloWord() throws RemoteException {
System.out.println("你好,这里是远程服务中心!");
return "另一车轨迹";
}
public String sayGoodBy() throws RemoteException {
System.out.println("ByeBye 这里是远程服务中心");
return "倩宁";
}
}
/**
* 远程服务
* @author administror
*
*/
public class Server {
public static void main(String[] args) {
Hello hello;
try {
hello = new HelloImpl(); //生成了stubs skeleton 并且返回了stubs的代理应用
LocateRegistry.createRegistry(8080);
//将stub应用绑定到注册的服务地址
Naming.bind("rmi://127.0.0.1:8080/sunny", hello);
System.out.println("完成服务注册及绑定");
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (AlreadyBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class Client {
public static void main(String[] args) {
//远程调用方法与本地方法调用是一样的
try {
Hello hello = (Hello)Naming.lookup("rmi://127.0.0.1:8080/sunny");
hello.helloWord();
hello.sayGoodBy();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NotBoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
hession RMI 远程调用的更多相关文章
- java RMI 远程调用
1.背景 在学习代理模式的过程中接触到了远程调用,jdk有自己的RMI实现,所以这边自己实现了RMI远程调用,并记录下心得. 感受最深的是RMI和现在的微服务有点相似,都是通过"注册中心&q ...
- cas的http配置和rmi远程调用
1.cas配置http请求(服务端) 1) 解压cas-server-3.4.4-release.zip将modules目录下的cas-server-webapp-3.4.4.war改名称为cas.w ...
- WebService与RMI(远程调用方式实现系统间通信)
前言 本文是<分布式java应用基础与实践>读书笔记:另外参考了此博客,感觉讲的挺好的,尤其是其中如下内容: 另外,消息方式实现系统间通信本文不涉及.RMI则只采用spring RMI框架 ...
- Spring的RMI远程调用 - (示例)
一.定义远程服务器上接口 public interface RMIService { public String getInfo(); } 二.实现远程服务器上接口 public class RMIS ...
- Java中RMI远程调用demo
Java远程方法调用,即Java RMI(Java Remote Method Invocation),一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序可以调用远程服务器上的对象.远 ...
- java项目中rmi远程调用实例
1.创建一个学生实体类Student.java: package com.RMIdemo.entity; @SuppressWarnings("serial") public cl ...
- rmi远程调用
1.在服务器端程序中的spring-servlet.xml中添加 <bean id="userService" class="org.springframework ...
- Spring 配置RMI远程调用
项目中遇到了跨系统调用,当初想的是用webservice或者是hessian.但是这个接口用到的并不多,而且是一个非常简单的方法.所有便想到了RMI.在spring中 实现RMI非常简单. 暴露服务: ...
- 廖雪峰Java13网络编程-3其他-2RMI远程调用
1.RMI远程调用: Remote Method Invocation 目的:把一个接口方法暴露给远程 示例: 定义一个接口Clock,它有一个方法能够获取当前的时间,并编写一个实现类,来实现这个接口 ...
随机推荐
- verbosity
import unittest class myTest(unittest.TestCase): def test_01(self): print("普通方法1") def tes ...
- 15-Ubuntu-文件和目录命令-查看目录内容-ls-2
4. ls和通配符的使用 通配符适用的地方:shell命令行或者shell脚本中. 正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则. 正则表达式与通配符有相同的符号但是意义不同!! ...
- 【POJ】3268 Silver Cow Party
题目链接:http://poj.org/problem?id=3268 题意 :有N头奶牛,M条单向路.X奶牛开party,其他奶牛要去它那里.每头奶牛去完X那里还要返回.去回都是走的最短路.现在问这 ...
- JavaScript——问卷星自动填写
一.前言: 我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的.但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表.一顿操作后,在github ...
- bc 进制间转换
我们通过bc的ibase和obase方法来进行进制转换 ibase是输入数字的进制,而obase就是输出数字的进制 两种方式进行转化 交互式的 ==注意:需要先设置obase== [root@dev ...
- thinkphp 分布式数据库支持
ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型. 配置DB_DEPLOY_TYPE 为1 可以采用分布式数据库支持.如果采用分布式数据库, ...
- react 高阶组件之小学版
高阶组件 多么高大上的概念,一般用来实现组件逻辑的抽象和复用,在很多三方库(redux)中都被使用到,但是开发普通有任务项目时,如果能合理使用高阶组件,也会显著的提高代码质量. 我们今天就用最简单的 ...
- [Codeplus 4月赛]最短路
题意:理论上是给定一张完全图,有边权,在给一些单向边求最短路. 思路: 我充分体会到了我图论的菜. 理论上建图肯定是不能\(n^2\)的,考虑如何优化呢? 将边权异或值二进制替换,最后一遍最短路就行, ...
- http://www.2cto.com/ 红黑联盟
http://www.2cto.com/ 红黑联盟,一个不错的学习或者开阔眼界的网站,内部由中文书写.比较适合国人.
- ASP.NET自定义Validform的datatype
1.定义 <script type="text/javascript"> $(function () { $("#aa").Validform({ ...