对于源码分析,我们先还是从最外层域用户交互这一块开始,看到源码里面有一个client(客户端)的包:
点开查看详细类文件结构:
首先我们可以看到AdminClient接口,里面提供两个方法:
1) cluster(),产生一个允许从集群中执行action或操作的client;
2) indices(),产生一个允许从索引中执行action或操作的client。
查看树结构关联:
可以看出,AdminClient接口有两个实现类,分别为org.elasticsearch.client.AdminClient.NodeAdminClient和org.elasticsearch.client.transport.support.InternalTransportAdminClient。
NodeAdminClient有一个带有@Inject注解的构造器,并实现了接口AdminClient的两个方法。@Inject导致了一个直接的后果:你只能通过被@Inject标注的构造器生成实例。indices()和cluster()覆盖了AdminClient的同名方法,分别返回NodeIndicesAdminClient和NodeClusterAdminClient对象。
NodeAdminClient会继承父类org.elasticsearch.common.component.AbstractComponent的nodeName()方法用以获取当前节点的名称。
org.elasticsearch.client.transport.support.InternalTransportAdminClient类
InternalTransportAdminClient其实与NodeAdminClient类似,只是它的indices()和cluster()分别返回的是InternalTransportIndicesAdminClient和InternalTransportClusterAdminClient。
NodeAdminClient和InternalTransportAdminClient均没有子类,所以只有当我们需要用到NodeIndicesAdminClient、NodeClusterAdminClient、InternalTransportIndicesAdminClient或InternalTransportClusterAdminClient时,才考虑创建这两个类的实体。
此外,org.elasticsearch.client.Client接口为从集群中执行action或operation提供了一站式接口,这里的所有操作都是自然而然地异步执行的,每个action或operation都有两种风格,一种是简单地返回一个org.elasticsearch.action.ActionFuture,另一种是访问一个org.elasticsearch.action.ActionListener。你可以在org.elasticsearch.node.Node启动时取得一个Client,也可以使用org.elasticsearch.client.transport.TransportClient远程连接一个或多个节点。
程序猿行业技术生活交流群:181287753(指尖天下),欢迎大伙加入交流学习。
- 大小: 205.3 KB
- 大小: 9.8 KB
- 大小: 20.5 KB
- 大小: 21.3 KB
分享到:
相关推荐
安卓Android源码——客户端连接服务器并交互实例.zip
VR+AR+出版—— 多媒体交互教育教辅内容平台创业商业计划书.pdfVR+AR+出版—— 多媒体交互教育教辅内容平台创业商业计划书.pdfVR+AR+出版—— 多媒体交互教育教辅内容平台创业商业计划书.pdfVR+AR+出版—— 多媒体...
微信小程序——交互操作控件(截图+源码).zip 微信小程序——交互操作控件(截图+源码).zip 微信小程序——交互操作控件(截图+源码).zip 微信小程序——交互操作控件(截图+源码).zip 微信小程序——交互操作...
这是我的博客:jQuery作前台,Python3-Flask作后端的全栈开发——数据交互方式 https://blog.csdn.net/winerchopin/article/details/87886777#comments 讲解使用胡代码1
Android源码——与js交互.zip
安卓Android源码——与js交互.zip
网上很多有关socket文件传输的源码都是每次只能发送一个文件,如果想传输多个文件,不但需要多次交互,还需要把每个文件的文件名都输入进去,很不方便,所以进行了一个小扩展:即客户端可以将打算传送的多个文件都先...
Android服务端和客户端交互源码,初学者必看
电话客户端交互适配设计之——我见.pdf
安卓Android源码——精典源码之与js交互.zip
android 服务端与客户端交互的例子,采用json数据格式,utf-8编码进行数据传输,例子可以直接运行,有源码
安卓Android源码——与php服务器交互实例源码.zip
面向青年群体的智能卧室系统客户端交互设计.pdf
工业互联网平台企业成长演化机理——交互赋能视域下双案例研究.pdf
视频直播社交产品原型源文件,主播产品客户端交互详细原型,直播产品原型,社交产品原型,主播产品原型,播客产品原型,安卓客户端产品原型,IOS产品原型,小程序产品原型 社交,直播,语音产品原型 视频直播社交...
面向多维关联的社会认知网络分析——协作学习交互研究的新进展_马志强.caj
安卓Android源码——Android与js交互.zip