栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

rpc服务-消费

rpc服务-消费

你们要的基于自己实现的rpc框架的服务-消费项目来了!

1. 工程结构 父module

my_rpc:管理所有子模块,依赖自定义rpc框架 子module

my_rpc_api:提供服务的api接口my_rpc_server:服务端,实现api的接口,给客户端提供真实服务my_rpc_client:客户端,调用api接口,获取服务端服务 2. 依赖 父module

my_rpc:管理所有子模块,依赖自定义rpc框架


        
            com.fyp
            rpc_fyp_framework
            1.0-SNAPSHOT
        

注意:
父项目一般都为pom方式,子项目才为war和jar

子module

my_rpc_api:提供服务的api接口my_rpc_server:服务端,实现api的接口,给客户端提供真实服务

    
        
            com.fyp
            my_rpc_api
            1.0-SNAPSHOT
        
    

my_rpc_client:客户端,调用api接口,获取服务端服务

    
        
            com.fyp
            my_rpc_api
            1.0-SNAPSHOT
        
    
3 工程项目 父module

my_rpc:管理所有子模块,依赖自定义rpc框架 子module

my_rpc_api:提供服务的api接口

package com.fyp.service;

import java.rmi.Remote;
import java.rmi.RemoteException;


public interface UserService extends Remote {
    String getUser(String name) throws RemoteException;
}

my_rpc_server:服务端,实现api的接口,给客户端提供真实服务 (1)服务启动器

package com.fyp;

import com.fyp.rpc.FypRpcFactory;
import com.fyp.service.UserService;
import com.fyp.service.impl.UserServiceImpl;


public class ServerApplication {
    public static void main(String[] args) throws Exception {
        UserService userService = new UserServiceImpl();
        FypRpcFactory.registerService(UserService.class,userService);
    }
}
(2)服务实现类
package com.fyp.service.impl;

import com.fyp.service.UserService;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;


public class UserServiceImpl extends UnicastRemoteObject implements UserService {

    public UserServiceImpl() throws RemoteException {
        super();
    }

    @Override
    public String getUser(String name) throws RemoteException {
        System.out.println("要查询的用户是:" + name);

        return "{"name":""+name+"","age":20,"gender":"男"}";
    }
}
(3)zk信息配置

fyp-rpc.properties

registry.port=9999
zk.server=localhost:2181
zk.sessionTimeout=20000

my_rpc_client:客户端,调用api接口,获取服务端服务 (1)客户端

package com.fyp;

import com.fyp.rpc.FypRpcFactory;
import com.fyp.service.UserService;
import org.apache.zookeeper.KeeperException;

import java.io.IOException;
import java.rmi.NotBoundException;


public class TestRpcClient {
    public static void main(String[] args) {
        try {
            UserService userService = FypRpcFactory.getServiceProxy(UserService.class);
            System.out.println(userService.getClass().getName());
            String result = userService.getUser("管理员");
            System.out.println("远程服务返回查询结果:" + result);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (KeeperException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (NotBoundException e) {
            e.printStackTrace();
        }

    }
}
(2)zk信息配置
zk.server=localhost:2181​
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/701934.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号