use of com.jim.framework.rpc.registry.ConsulRegistryService 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();
}
}
Aggregations