rmi通信rpc框架實現遠程調用

今天說一下通過靜態代理和rm方式實現遠程調用,這裏面主要想說一下這個靜態代理的方式,它是通過一個匿名類的方式來實現的。通過這個案例來實現一個簡易的RPC遠程調用的裝置。先來說一下provider服務提供者的這一方。在Provider這個類中,定了一個靜態的內部類?通過spring管理的方式,創建了一個orderService的一個服務。然後初始化iniprtocol2() 方法來初始化服務端,然後通過system.in.read()方法,對服務端進行掛起。在這個iniprtocol2的方法中,首先new一個InfoServiceImpl類。這個方法體中加入匿名內部類,實際上,這個匿名的內部類與InfoServiceImpl類的關係,我們暫時可以看作是父子的關係,也就是說我們的這個匿名內部類是這個InfoServiceImpl類的子類。在這個子類中調用父類的方法passInfo方法,然後調用反射原理。通過反射來調用具體的業務方法,具體的業務方法的信息封裝在了info這個map集合中。實際上,這個new方法,返回的是InfoServiceImpl這個類的子類,然後把這個服務與端口號IP,進行綁定,然後,打印一句話初始化了rm i綁定

package com.enjoy;


import com.alibaba.fastjson.JSON;
import com.enjoy.service.InfoService;
import com.enjoy.service.InfoServiceImpl;
import com.enjoy.service.OrderService;
import com.enjoy.service.OrderServiceImpl;
import com.enjoy.utils.InvokeUtils;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.spri
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章