全站最硬核 百万字强肝RocketMq源码 火热更新中~(五)

private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME);

可以看到我们其实才读了一行代码,在这里KVConfigManager的头部,声明了log,LoggerName为“RocketmqNamesrv”,这也对应我们当前在读的总包,是在namesrv包下。

到了第二行:

private final NamesrvController namesrvController;

这里声明了一个NamesrvController,然后接下来我们去看下这里面做了哪些事。

org.apache.rocketmq.namesrv.NamesrvController

    private static final InternalLogger log = InternalLoggerFactory.getLogger(LoggerName.NAMESRV_LOGGER_NAME);

    private final NamesrvConfig namesrvConfig;

    private final NettyServerConfig nettyServerConfig;

    private final ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(new ThreadFactoryImpl(
        "NSScheduledThread"));
    private final KVConfigManager kvConfigManager;
    private final RouteInfoManager routeInfoManager;

进来之后首先是之前我们已经看过的InternalLogger,与KVConfigManager里声明的一模一样。接着下面是两个Config,内部就是一些常规的配置参数,不过并没有使用注解开发,全部是原生的get set方法。

还声明了一个单线程实例的ExecutorService

进入第一个比较重要的接口:

org.apache.rocketmq.remoting.RemotingServer

RemotingServer是一个接口,我们直接进入它的唯一实现类看看:

org.apache.rocketmq.remoting.netty.NettyRemotingServer

private static final InternalLogger log = InternalLoggerFactory.getLogger(RemotingHelper.ROCKETMQ_REMOTING);

此处的日志工具的LoggerName是RocketmqRemoting了,因为此时其实已经调到了remoting包下,不在namesrv包了。

先不追究RemotingHelper,继续读NettyRemotingServer

private final ServerBootstrap serverBootstrap;
private final EventLoopGroup eventLoopGroupSelector;
private final EventLoopGroup eventLoopGroupBoss;
private final NettyServerConfig nettyServerConfig;

private final ExecutorService publicExecutor;
private final ChannelEventListener channelEventListener;

private final Timer timer = new Timer("ServerHouseKeepingService", true);
private DefaultEventExecutorGroup defaultEventExecutorGroup;

接下来声明的,是RocketMq中为数不多依赖的东西,netty中的ServerBootstrap,EventLoopGroup,EventLoopGroup,ChannelEventListener,DefaultEventExecutorGroup,使用过netty的同学应该对这几个类并不陌生,我们先不去看netty的源码了,一会看他怎么用。

除这几个netty的类以外,还有一个声明为守护进程的Timer,一个来自JUC包下提交异步任务的ExecutorService

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值