大家好:
    我写了个程序,调用其他网站的webservice,考虑到如网站关闭等导致对webservice资源调用失败,我想实现如下功能:
  如果调用失败的话,过五分钟或者十分钟再调用一次,直到调用成功。
  考虑了用线程的方法,但wait()至少要同时存在两个线程才能使用。且我的程序本来就是个单线程的东西,没必要引进多线程。
  请问,还有其他的在主程序中用的类似于wait和sleep的方法吗?
  急的要命,知道的麻烦伸下援助之手。

解决方案 »

  1.   


    boolean isContinue = true;
    while(isContinue){
        //调用逻辑及计算间隔逻辑,如果调用成功将isContinue置为false
    }
    //write some code不知能否帮到LZ
      

  2.   

    失败重调:可以将调用webservice的方法写成静态的,通过递归实现。
    使主程序等待:可以通过Thread.sleep方法实现。
      

  3.   

    LZ  可以这样想嘛 ,写一个线程类, 开启这个线程类 ,这个线程类if判断下是否取到值, 没取到就睡眠5分钟、十分钟后,在把这个线程类new出来开启,就可以达到效果了撒 
      

  4.   

    你可以做一个循环吧
    或者在里面做一个sleep(一段时间)
      

  5.   


    while (true) {
    if (invokeWebService())
    break;
    Thread.sleep(5 * 60 * 1000L);
    }