Java调用webservice无响应, 使用thread.stop 终止线程合适吗?

项目在调用一个WebService接口( wsimport方式 )的时候偶尔会出现无响应的情况(表现为程序一直阻塞, 也不抛出任何异常), 查看栈信息如附图

现在的解决思路就是创建一个子线程来调用WS, 如果调用无响应(主线程等待超时), 就终止子线程

因为线程状态一直为Runnable, 而且也不是循环, 没法用interrupt()来中断线程, 这种情况下, 使用stop()终止线程合适吗? 有没有什么更好的解决办法?

调用ws线程栈信息:
图片描述

回答:

不要手动操控线程生命周期。你要做的是在线程的Run方法调用WS的时候添加超时参数,一旦超时直接记录超时日志并return,此时线程会自动终止。

以上是 Java调用webservice无响应, 使用thread.stop 终止线程合适吗? 的全部内容, 来源链接: utcz.com/a/167461.html

回到顶部