java socket产生close_wait造成程序无法访问

测试我访问服务的socket接口,查看端口的情况如下,这个时候程序处于假死状态,无法访问,
看别人说的情况socket完成四次握手后才会真正释放掉close_wait,
图片说明
两分钟左右在查看端口状况,如下:
图片说明
close_wait释放完毕,但是程序依然无法 访问,只能通过重启tomcat来解决,靠重启来解决也不是个办法,这种情况有遇到过的,都怎么处理?