前台代碼:
<script type="text/javascript">
$(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();
});
</script>
背景代碼:
private final ExecutorService exec = Executors.newFixedThreadPool(1);
private BlockingQueue queue=new ArrayBlockingQueue<>(5);
@RequestMapping(value = "/findUserAreaList3")
@ResponseBody
public BaseResult<Object> findUserAreaList3() {
Callable<Object> call = new Callable<Object>() {
public Object call() throws Exception {
Object take = queue.take();
return take;
}
};
Future<Object> future = exec.submit(call);
Object ret;
try {
// 任務處理逾時時間設為 10秒
ret = future.get(10, TimeUnit.SECONDS);
} catch (Exception e) {
return setResponseVo("error");
}
return setResponseVo(ret);
}
轉載于:https://my.oschina.net/u/3025651/blog/1498894