当前位置: 首页 > news >正文

设计模式之十一:代理模式

代理可以控制和管理访问。

RMI提供了客户辅助对象和服务辅助对象,为客户辅助对象创建和服务对象相同的方法。RMI的好处在于你不必亲自写任何网络或I/O代码。客户程序调用远程方法就和运行在客户自己本地JVM对对象进行正常方法调用一样。

步骤一:制作远程接口

// 1 扩展java.rmi.Remote接口
// 2 声明所有方法都会抛出RemoteException
// 3 确定变量和返回值属于原语或者可序列化类型 (自己定义的类一定要实现Serializable)import java.rmi.*public interface MyRemote extends Remote{public String sayHello() throws RemoteException;
}

步骤一:制作远程实现

// 1 客户必须实现远程接口
// 2 扩展UnicastRemoteObject对象,让超类帮你实现某些“远程”功能
// 3 声明一个不带变量的构造器,并抛出RemoteException
// 4 用RMI Registry注册此服务
//public class MyRemoteImpl extends UnicastRemoteObject implements MyRemote{public MyRemoteImpl() throws RemoteException{}public String sayHello(){return "Server says: hey";}
}try{MyRemote service = new MyRemoteImpl();Naming.rebind("RemoteHello", service);
}catch(Exception ex){ ... }

----------------------------

http://www.lryc.cn/news/227470.html

相关文章:

  • 在spring boot中调用第三方接口时重试问题
  • 记录一次多数据源配置失效的情况
  • EasyExcel导出替换列中的变量
  • 机器人规划算法——将多边形障碍物离散到地图像素点上?
  • windows11使用docker部署安装minio
  • 【JavaEESpring】Spring Web MVC⼊⻔
  • flutter逆向 ACTF native app
  • 【Redis】set 集合
  • 【算法与设计模式】
  • Javaweb之javascript的小案例的详细解析
  • Vant 移动端UI 组件自动引入
  • 敏捷开发是什么?敏捷开发流程是怎么样的?
  • 【CASS精品教程】cass3d 11.0加载超大影像、三维模型、点云数据
  • Unity Input System最简单使用
  • 3.前端调式(断点调式)
  • 拓扑排序软件设计——ToplogicalSort_app(含有源码、需求分析、可行性分析、概要设计、用户使用手册)
  • ESP32网络开发实例-将数据保存到InfluxDB时序数据库
  • NestJS——基于Node.js 服务器端应用程序的开发框架
  • EXCEL中将UTC时间戳转为日期格式(精确到秒)
  • 2023年【起重机械指挥】考试试卷及起重机械指挥操作证考试
  • 组件的设计原则
  • 安卓编译命令mm和mmm的区别(mm编译当前工作目录,mmm可编译指定目录)
  • 计算机毕业设计 基于Springboot的影院购票管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 使用.net 构建 Elsa Workflow
  • open clip论文阅读摘要
  • Vue3像Vue2一样在prototype(原型)上挂载数据
  • API接口自动化测试
  • 基于springboot实现驾校管理系统项目【项目源码】
  • 稀疏数组的保存优化(java版本)
  • Git GUI、SSH协议和IDEA中的Git使用详解