技术要点
org.springframework.web.context.request.async.DeferredResult
示例如下:
1. 新建Maven项目 async
2. pom.xml
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.java
async
1.0.0
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
org.springframework.boot
spring-boot-starter-web
org.springframework
springloaded
1.2.8.RELEASE
provided
org.springframework.boot
spring-boot-devtools
provided
${project.artifactId}
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
UTF-8
org.springframework.boot
spring-boot-maven-plugin
repackage
3. AsyncStarter.java
package com.java;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class AsyncStarter {
public static void main(String[] args) {
SpringApplication.run(AsyncStarter.class, args);
}
}
4. AsyncVo.java
package com.java.vo;
import org.springframework.web.context.request.async.DeferredResult;
/**
* 存储异步处理信息
*
* @author Logen
*
* @param 接口输入参数
* @param 接口返回参数
*/
public class AsyncVo {
/**
* 请求参数
*/
private I params;
/**
* 响应结果
*/
private DeferredResult result;
public I getParams() {
return params;
}
public void setParams(I params) {
this.params = params;
}
public DeferredResult getResult() {
return result;
}
public void setResult(DeferredResult result) {
this.result = result;
}
}