问题描述:
生产环境,有个查询交易提交后,一直转圈未响应。
问题分析:
1、其他操作都比较流畅,初步怀疑是有同步锁导致的线程阻塞
2、使用jstack命令收集堆栈信息。
进程号为7689,命令如下:
jstack -l 7689 > aa.tdump
参考http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html中的操作,查找异常线程,发现有250处Blocked线程,
其中有248处在等待0x00000006c6cc87a8线程释放同步锁。
进一步查看该线程阻塞原因如下:
发现是使用JedisSentinelPool连接池获取Jedis连接的时候发生阻塞。
3、去网上搜索JedisSentinelPool.getResource 阻塞得到如下链接
https://blog.csdn.net/u013887008/article/details/83825358
已将相关配置按照提示修改,以观后效。