在没有用户交互的情况下重复调用spring动作

时间:2012-03-07 05:13:09

标签: spring spring-mvc jboss jms spring-3

我有如下要求:

在没有用户交互的情况下重复调用特定操作。例如,我有一个消息状态页面,显示JMS消息状态。消息状态可以由许多应用程序组件更改。我想要的是,我的状态UI必须选择最新消息状态。我需要以5秒左右的间隔重复调用状态UI的动作,以便UI显示最新状态。

我怎样才能在春天实现这一点。是什么,轮询行动?

任何帮助高度赞赏

1 个答案:

答案 0 :(得分:0)

最简单的方法是每隔几秒使用JavaScript和AJAX(使用的伪代码)询问服务器:

function askServerForStatus() {
    $.getJSON('/your-app/jms-status', function(response) {
        $('#status').text(response.status);
    }
}

setInterval(askServerForStatus, 5000); //every 5 seconds

非常简单的例子,它要求Spring MVC控制器映射到/jms-status并期望以下JSON响应:

{"status": "Processing..."}

考虑使用setTimeout()

更通用,可靠且强大的方法是使用异步支持或。另请查看