package com.genersoft.iot.vmp.gb28181.transmit.callback;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import org.springframework.http.HttpStatus;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.context.request.async.DeferredResult;
|
|
/**
|
* @Description:TODO(这里用一句话描述这个类的作用)
|
* @author: swwheihei
|
* @date: 2020年5月8日 下午7:59:05
|
*/
|
@Component
|
public class DeferredResultHolder {
|
|
public static final String CALLBACK_CMD_DEVICEINFO = "CALLBACK_DEVICEINFO";
|
|
public static final String CALLBACK_CMD_CATALOG = "CALLBACK_CATALOG";
|
|
public static final String CALLBACK_CMD_RECORDINFO = "CALLBACK_RECORDINFO";
|
|
public static final String CALLBACK_CMD_PlAY = "CALLBACK_PLAY";
|
|
private Map<String, DeferredResult> map = new HashMap<String, DeferredResult>();
|
|
public void put(String key, DeferredResult result) {
|
map.put(key, result);
|
}
|
|
public DeferredResult get(String key) {
|
return map.get(key);
|
}
|
|
public void invokeResult(RequestMessage msg) {
|
DeferredResult result = map.get(msg.getId());
|
if (result == null) {
|
return;
|
}
|
result.setResult(new ResponseEntity<>(msg.getData(),HttpStatus.OK));
|
}
|
}
|