648540858
2021-11-17 9561e952a382f1214e386c9009e5f7eea9e78802
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/SIPProcessorObserver.java
@@ -7,6 +7,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
import javax.sip.*;
@@ -22,7 +25,7 @@
 * @date:   2021年11月5日 下午15:32
 */
@Component
public class SIPProcessorObserver implements SipListener {
public class SIPProcessorObserver implements ISIPProcessorObserver {
    private final static Logger logger = LoggerFactory.getLogger(SIPProcessorObserver.class);
@@ -32,6 +35,10 @@
    @Autowired
    private SipSubscribe sipSubscribe;
    @Autowired
    @Qualifier(value = "taskExecutor")
    private ThreadPoolTaskExecutor poolTaskExecutor;
    /**
     * 添加 request订阅
@@ -65,6 +72,8 @@
     */
    @Override
    public void processRequest(RequestEvent requestEvent) {
        poolTaskExecutor.execute(() -> {
        String method = requestEvent.getRequest().getMethod();
        ISIPRequestProcessor sipRequestProcessor = requestProcessorMap.get(method);
        if (sipRequestProcessor == null) {
@@ -72,6 +81,8 @@
            return;
        }
        requestProcessorMap.get(method).process(requestEvent);
        });
    }
    /**
@@ -90,7 +101,7 @@
//        }
//        sipRequestProcessor.process(responseEvent);
        poolTaskExecutor.execute(() -> {
        Response response = responseEvent.getResponse();
        logger.debug(responseEvent.getResponse().toString());
        int status = response.getStatusCode();
@@ -127,6 +138,8 @@
                }
            }
        }
        });
    }