这个模块主要将集群的默认配置加上(registerBuiltinClusterSettings
和registerBuiltinIndexSettings
),以及绑定一些集群服务(ClusterInfoService
, DiscoveryNodeService
, MetaDataCreateIndexService
, RoutingService
等)。
最后通过interface的configure将以上2个settings的实例(DynamicSettings.class
)绑定/注入到ClusterModule.class
上。
asEagerSingleton作为一种热加载(相较于lazy initialization)。
其中MetaDataCreateIndexService里面就包括了index相关的metadata settings,比如mapping, alias, shards, replicas等。
Guice
在ClusterModule的configure()中,通过bind()将接口和实现类关联起来。
Reference
- Google-Guice入门介绍
- Guice系列之用户指南(十)