关于elasticsearch生成索引时报transport client is closed,的解决方案。
首先,代码开始写的时候并没有报这个错,运行一段时间后,就报这个错了。所以问题很难定位,因为如果是代码本身就有错误,开始的时候就应该出现问题。
开始,提出两点问题原因:
1)服务器的配置
2)索引的分词器和解析器是否有问题。
后来经过多方 面的排查,排除了上面的原因,后来,一步一步的调试,打断点,最后发现了原因,先说下我这边的逻辑实现。
因为我这边的业务分为几类,每一类的数据都要做索引,所以我这边用到了线程池,所以问题就出现在这。主线程执行完后,dubbo容器就关闭了,这导致我们的elasticsearch的client也关闭了,所以就没办法连接,按理说不应该关闭的,最后用
CountDownLatch解决了这个问题。