springmvc-异步请求-返回DeferredResult

61、springmvc-异步请求-返回DeferredResult

1.线程中创建DeferredResult<Object> deferredResult对象并返回.主线程推出
2.当拿到deferredResult对象的线程调用了deferredResult.setResult(order);方法之后,response就可以拿到结果并返回
3.假如超出等待时间,则直接提示失败.

	@ResponseBody
	@RequestMapping("/createOrder")
	public DeferredResult<Object> createOrder(){
     
		DeferredResult<Object> deferredResult = new DeferredResult<>((long)3000, "create fail...");
			
		DeferredResultQueue.save(deferredResult);
		
		return deferredResult;
	}
	
	
	@ResponseBody
	@RequestMapping("/create")
	public String create(){
     
		//创建订单
		String order = UUID.randomUUID().toString();
		DeferredResult<Object> deferredResult = DeferredResultQueue.get();
		deferredResult.setResult(order);
		return "success===>"+order;
	}

你可能感兴趣的:(java基础)