java客户端调用webservice时 连接超时知道是网络原因 ,如何重试如果不重试程序就死琐了,

[复制链接]
查看11 | 回复4 | 2011-7-7 07:29:59 | 显示全部楼层 |阅读模式
我想要的结果是抛
异常时捕获异常,然后重试我写的方法直到连接到为止。谢谢
回复

使用道具 举报

千问 | 2011-7-7 07:29:59 | 显示全部楼层
先把连接超时的时间设置长一点!
抛异常处理时,空处理异常,继续调用连接方法,不过,服务器一般都有连接超时的时间的,超过时间连接不上,就会自动中断客户端的请求。释放资源!









<h4class=\"ask\">追问


何为空处理异常,是有一种异常为空异常,还是Exception异常,里面什么都不写,就写我的方法
回复

使用道具 举报

千问 | 2011-7-7 07:29:59 | 显示全部楼层
嗯嗯!就是不处理异常,直接重新调用你的连接方法!其实可以设置一个时间点,连接不上,隔了多少时间,重新连接,写成线程,定时运行更有效率!
回复

使用道具 举报

千问 | 2011-7-7 07:29:59 | 显示全部楼层
我就是写的线程在里面没每隔5秒就运行一次,都是可以运行的,但是只要一报这个连接超时程序就无法运行了,我之前也试过你说的就写在catch语块里但是就是不运行,它也相当于是一种循环了是吧,还有没有其它的方式,谢谢
回复

使用道具 举报

千问 | 2011-7-7 07:29:59 | 显示全部楼层
1.比如说你的连接类和方法是:
Connet{
conect(){
try{}catch(Execptione){log.error(e);}
}
}
2.你的执行线程:
ConnectThreadextendsThread{
ConnectThread(Connetconn){}
run(){conn.conect();}
}

3.利用定时器去做定时调用,而且应该是服务器连接超时的一个周期,比如说,服务器是60S的,那么你就60S之后再执行这个线程。
---不知道这样可否可行呢。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行