gpt4 book ai didi

java - 具有时间延迟的递归函数调用

转载 作者:行者123 更新时间:2023-11-29 08:07:29 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,我需要运行一个后台进程来访问 Web 服务,在收到响应后,它将等待几秒钟(比如 30 秒),然后再次访问该服务。响应数据可以从非常小到非常大不等,所以我不想在完成数据处理之前再次调用该过程。所以,它是一个有时间延迟的递归调用。我打算怎么做:

  1. 将 ContextListener 添加到网络应用。

  2. 在 contextIntialized() 方法上,调用 invokeWebService() 即调用 Web 服务的任意方法。

  3. invokeWebService 看起来像:

    invokeWebService()
    {

    //make request

    //hit service

    //get response

    //process response

    timeDelayInSeconds(30);

    //recursive call
    invokeWebService();

    }

请。建议我是否做对了。或者使用线程或调度程序。请。用示例代码回答。

最佳答案

你可以使用 ScheduledExecutorService, which is part of the standard JDK since 1.5 :

    ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Runnable r = new Runnable() {

@Override
public void run() {
invokeWebService();
}
};

scheduler.scheduleAtFixedRate(r, 0, 30, TimeUnit.SECONDS);

关于java - 具有时间延迟的递归函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10170036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com