Search in sources :

Example 1 with RegistryService

use of com.jim.framework.rpc.registry.RegistryService in project jim-framework by jiangmin168168.

the class RpcServer method bind.

public void bind(ServiceConfig serviceConfig) {
    EventLoopGroup bossGroup = new NioEventLoopGroup();
    EventLoopGroup workerGroup = new NioEventLoopGroup();
    try {
        ServerBootstrap bootstrap = new ServerBootstrap();
        bootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class).childHandler(this.rpcServerInitializer).childOption(ChannelOption.SO_KEEPALIVE, true);
        try {
            ChannelFuture channelFuture = bootstrap.bind(serviceConfig.getHost(), serviceConfig.getPort()).sync();
            RpcURL url = new RpcURL();
            url.setHost(serviceConfig.getHost());
            url.setPort(serviceConfig.getPort());
            url.setRegistryHost(serviceConfig.getRegistryHost());
            url.setRegistryPort(serviceConfig.getRegistryPort());
            RegistryService registryService = new ConsulRegistryService();
            registryService.register(url);
            channelFuture.channel().closeFuture().sync();
        } catch (InterruptedException e) {
            throw new RpcException(e);
        }
    } finally {
        bossGroup.shutdownGracefully();
        workerGroup.shutdownGracefully();
    }
}
Also used : ChannelFuture(io.netty.channel.ChannelFuture) EventLoopGroup(io.netty.channel.EventLoopGroup) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup) ConsulRegistryService(com.jim.framework.rpc.registry.ConsulRegistryService) RpcException(com.jim.framework.rpc.exception.RpcException) RegistryService(com.jim.framework.rpc.registry.RegistryService) ConsulRegistryService(com.jim.framework.rpc.registry.ConsulRegistryService) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup) ServerBootstrap(io.netty.bootstrap.ServerBootstrap) RpcURL(com.jim.framework.rpc.common.RpcURL)

Aggregations

RpcURL (com.jim.framework.rpc.common.RpcURL)1 RpcException (com.jim.framework.rpc.exception.RpcException)1 ConsulRegistryService (com.jim.framework.rpc.registry.ConsulRegistryService)1 RegistryService (com.jim.framework.rpc.registry.RegistryService)1 ServerBootstrap (io.netty.bootstrap.ServerBootstrap)1 ChannelFuture (io.netty.channel.ChannelFuture)1 EventLoopGroup (io.netty.channel.EventLoopGroup)1 NioEventLoopGroup (io.netty.channel.nio.NioEventLoopGroup)1