如果只是想简单的看看运行逻辑,跟踪一下源码,此方法可以。如果想自己改改源代码什么的,此方法可能不行;那就看这篇帖子;最开始我为了debug源码,看到也是它,不过为了搞这个环境,累的不轻,还要看运气,也可能是能力不行,x-pack总是不行。于是就想走走弯路,哈哈哈!!!
- 下载Elasticsearch 安装包,我用的是windows,就下载的zip
- 解压后,找到/bin/elasticsearch.bat;打开找到下面的内容;如图
应该是倒数的3-4行;然后在图中第二行,%ES_JAVA_OPTS%后面添加如下代码:
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
这个5005就是监听的端口;
运行可以看到在监听5005端口
- 然后在测试项目中引入Elasticsearch的jar; 我是直接引入Java High Level REST Client,需要的Elasticsearch 的jar基本都有了,把jar的source引入,因为用的idea和maven在下载源码很方便;然后配置断点。我用的是idea
- 定位到RestHealthAction类;如图
- Elasticsearch各个功能的接口可能不好找,那就故意把参数设置错,根据错误信息就好找了。