一、创建Maven Project

1.rmi-rescource 提供远程服务对象接口
2.rmi-provider 提供远程项目
3.rmi-customer 消费远程项目

二、代码实现

1.rmi-resource

package com.facai.service;import java.rmi.Remote;
import java.rmi.RemoteException;/** 创建需要发布的服务对应的业务接口* Remote接口用于标识可以从非本地虚拟机调用的接口*/
public interface UserService extends Remote{public String helloRmi(String name) throws RemoteException;
}

2.rmi-provider
提供远程服务的对象UserServiceImpl

package com.facai.service.impl;import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;import com.facai.service.UserService;
/** 发布的服务对应的实现类*/
public class UserServiceImpl extends UnicastRemoteObject implements UserService {public UserServiceImpl() throws RemoteException {super();// TODO Auto-generated constructor stub}@Overridepublic String helloRmi(String name) throws RemoteException {// TODO Auto-generated method stubreturn "hello"+name;}}

启动类

package com.facai.app;import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;import com.facai.service.UserService;
import com.facai.service.impl.UserServiceImpl;public class ProviderApp {public static void main(String[] args) {/** 完成远程服务的发布* 将远程服务发布在本地的8888端口*/try {LocateRegistry.createRegistry(8888);//远程服务访问的urlString name="rmi://localhost:8888/rmi";//创建一个提供具体服务的对象UserService userService=new UserServiceImpl();//给提供远程服务的对象提供urlNaming.bind(name,userService);System.out.println("======发布rmi远程服务======");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

3.remi-customer

package com.facai.app;import java.rmi.Naming;
import java.rmi.Remote;import com.facai.service.UserService;public class CustomerApp {public static void main(String[] args) {try{//发布的远程服务的访问urlString name="rmi://localhost:8888/rmi";//通过发布的远程服务的url,获得远程服务的代理对象UserService userService=(UserService) Naming.lookup(name);System.out.println("获得的远程服务的代理对象"+userService.getClass().getName());//通过远程服务的代理对象调用远程服务方法String result=userService.helloRmi("rmi");System.out.println("result="+result);}catch(Exception e){e.getStackTrace();}}}

注:rmi-provider和rmi-customer要对rmi-resource添加依赖


**

三、使用到的API

**
Remote接口:标识某个方法可以被远程调用|
UnicastRemoteObject类:实现Remote远程对象的导出
Naming:给提供远程服务的对象绑定url
通过远程的url,获得提供远程服务的代理对象
LocalRegistry类:指定发布远程服务的方法接口

ego电商项目:Rmi远程服务发布相关推荐

  1. K8S 部署电商项目

    Ingress 和 Ingress Controller 概述 在 k8s 中为什么会有 service 这个概念? Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本( ...

  2. Web实战——电商项目

    文章目录 电商项目实践 1 准备数据 模块说明 实践过程 相关技术 2 搭建 maven 私服(nexus) 模块说明 实践过程 相关技术 3 Dubbo 服务 模块说明 实践过程 相关技术 4 后台 ...

  3. 电商项目构建springcloud

    0.学习目标 了解电商行业 了解乐优商城项目结构 能独立搭建项目基本框架 能参考使用ES6的新语法 1.了解电商行业 学习电商项目,自然要先了解这个行业,所以我们首先来聊聊电商行业 1.1.项目分类 ...

  4. Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 一款基于Springboot+Vue的电商项目,前后端分离项目,前台后台都有,前台商品展示购买,购物车分类, ...

  5. 面试专题-电商项目面试篇

    找工作面试的过程中,项目将会是整个流程的核心灵魂,也是能在面试中能让面试官尽快认同你的一个强有力的依据,所以在面试中把电商项目清晰的表述出来是极为关键的. 1.说说你最近做的这个项目的背景,简单的介绍 ...

  6. 400集高并发分布式超级电商项目实战

    带走一盏渔火 让他温暖我的双眼 留下一段真情 让它停泊在枫桥边 久违的你 一定保存着那套网盘 许多年以后 躺在网盘里的视频 依然尘封未动 涛声依旧不见当初的夜晚 今天的你我 怎样重复昨天的故事 涛哥说 ...

  7. 微服务电商项目技术全解析

    一.项目介绍 7d-mall-microservice 是一套微服务电商,其是在开源电商项目 mall-swarm 上进行了改造,采用了 Spring Cloud Hoxton & Aliba ...

  8. 《高楼的性能工程实战课》微服务电商项目技术全解析

    文章目录 一.项目介绍 二.整体结构 三.预备知识 1.什么是 SpringCloud ? 2.Spring .SpringBoot 和 Spring Cloud 的关系 3.Spring Cloud ...

  9. 电商项目相关面试问题及答案

    请描述一下这个系统? [回答技巧] 从3个方面来回答这个问题: |–系统背景及系统概述 |–系统包括的业务模块及主业务流程 |–责任模块 [回答示例] 第一个方面:系统背景及系统概述 优购时尚商城是香 ...

  10. 微信小程序电商项目源代码开放连载二三事

    大家好,我发布的微信小程序电商项目连载视频,正式进入实战化阶段了,为了让大家更好的去学习微信小程序开发,我在gitbub上面,开放了源代码.随着视频的连载更新,我会逐步将源代码进行更新. 源代码发布地 ...

最新文章

  1. pytorch 打印模型参数
  2. Linux中介绍who命令实例
  3. Linux易混名词整理和相关操作
  4. 简述一下动态sql的执行原理_简述一下Pogo Pin电连接器的设计原理和考虑因素
  5. 前端学习(1975)vue之电商管理系统电商系统之渲染参数下的可选项
  6. Adobe illustrator 抽丝剥茧选中多个点 - 连载 13
  7. Nagios 监控windows性能计数器
  8. 大二物竞金牌转北大计算机,物理竞赛保送去北大还是清华?
  9. Quotations
  10. LeetCode 152. 乘积最大子序列(动态规划)
  11. 从酒店服务员到世界500强大数据工程师,月薪4K到年薪40W,我经历了什么?
  12. Poisson 分布
  13. 【iTools】iTools Index
  14. 【微信文章封面】微信分别设置封面图和分享图的技巧
  15. Qt例子学习笔记 - Examples/Qt-6.2.0/charts/callout
  16. 关于mysql项目经验怎么写_数据库管理员岗位项目经历怎么写
  17. 二叉排序树(二叉搜索树)
  18. “安心工资条”荣获2017阿里钉钉创SaaS挑战赛总冠军
  19. 用Python画大学物理实验曲线
  20. mfs 分布式文件系统

热门文章

  1. 三个月追求金牛全过程(图
  2. 数学符号——指示函数(样子像空心的1的一个数学符号)
  3. 2019426 SPSS入门学习
  4. Audacious实现cue、ape音乐支持,GBK支持、cue乱码完美解决
  5. 斗地主游戏发牌C#程序
  6. 关于数据库求候选键问题
  7. love2d 乒乓球游戏
  8. 会议论文分析-CCS21-ML增强的符号执行方法
  9. c语言反步法编程,CCM模式下Boost电路的反步法非线性控制与仿真.pdf
  10. openssl学习之ccm,gcm 模式