前台代码:
$(function(){
function poll(){
var param={"searchType":"1","key":"0100008","timestamp":"1409382910" ,"sign":"123" };
$.ajax({ type: "POST",
contentType:"application/json;charset=utf-8",
url: "xxxx",data:JSON.stringify(param), success:function(data) {
console.log(data);
poll();
}, dataType: "json" });
}
poll();
});
后台代码:
private final ExecutorService exec = Executors.newFixedThreadPool(1);
private BlockingQueue queue=new ArrayBlockingQueue<>(5);
@RequestMapping(value = "/findUserAreaList3")
@ResponseBody
public BaseResult findUserAreaList3() {
Callable call = new Callable() {
public Object call() throws Exception {
Object take = queue.take();
return take;
}
};
Future future = exec.submit(call);
Object ret;
try {
// 任务处理超时时间设为 10秒
ret = future.get(10, TimeUnit.SECONDS);
} catch (Exception e) {
return setResponseVo("error");
}
return setResponseVo(ret);
}