gpt4 book ai didi

java - Spring Controller ,如何根据新的HttpRequest跳出循环?

转载 作者:行者123 更新时间:2023-12-01 15:40:57 26 4
gpt4 key购买 nike

我有一个 Spring @Controller。 Controller 内部有一个方法,在特定请求后进入 while 循环,该循环检查新数据并仅在找到数据时中断:

while(System.currentTimeMillis() < end && controllersDataStore.getAutoupdate() == eventAutoUpdate ) {

gridData = (GenericGrid) dsEventLogService.retrieveNewEventGridRows(gridHelper);
if(gridData.getAaData().size()==0){
try {
Thread.sleep(POLLING_INTERVAL);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
else{
break;
}
}

在某些情况下,即使在特定的用户操作之后未找到数据,我也需要跳出循环。所以我需要一个新的 HttpRequest,以便能够打破之前的 while 循环。

此外,我需要针对每个用户进行此操作,因此一个用户无法与其他用户操作进行交互。

Controller 是一个单例,因此它在所有 session 中具有共同的属性。这意味着我们不能将状态存储在全局属性中,然后检查循环内部是否有更改,以便它可以中断,因为这不是每个 session 的属性。

除了让 Controller 具有 session 范围之外,还有什么方法可以做到这一点吗? (我什至不确定它是否会起作用)。

预先感谢您,我将不胜感激任何提示。

最佳答案

将 keepRunning 值存储在数据库配置表中,并在 n 秒后检查该值。

不同 Controller 中的单独请求可以独立于该 Controller 更新状态变量。

关于java - Spring Controller ,如何根据新的HttpRequest跳出循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8034014/

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