package cn.skcks.docking.gb28181.wvp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.scheduling.annotation.EnableAsync;

@EnableFeignClients(basePackages = {
        "cn.skcks.docking.gb28181.media",
        "cn.skcks.docking.gb28181.wvp.proxy"
})
@SpringBootApplication
@ComponentScan(basePackages = {
        "cn.skcks.docking.gb28181.annotation",
        "cn.skcks.docking.gb28181.common",
        "cn.skcks.docking.gb28181.wvp",
        "cn.skcks.docking.gb28181.media",
        "cn.skcks.docking.gb28181"
}, includeFilters = {
        @ComponentScan.Filter(type = FilterType.REGEX, pattern = {
                "cn.skcks.docking.gb28181.service.ssrc.*",
        })
},
excludeFilters = {
        @ComponentScan.Filter(type = FilterType.REGEX, pattern = {
                "cn.skcks.docking.gb28181.starter.*",
                "cn.skcks.docking.gb28181.config.sip.SipConfig",
                "cn.skcks.docking.gb28181.core.sip.listener.*",
                "cn.skcks.docking.gb28181.core.sip.message.processor.*",
                "cn.skcks.docking.gb28181.core.sip.message.subscribe.*",
                "cn.skcks.docking.gb28181.service.play.*",
                "cn.skcks.docking.gb28181.service.record.*",
                "cn.skcks.docking.gb28181.core.sip.message.request.*",
                "cn.skcks.docking.gb28181.service.catalog.*",
                "cn.skcks.docking.gb28181.service.notify.*"
        })
})
@EnableAsync
public class Gb28181WvpProxyStarter {
    public static void main(String[] args) {
        SpringApplication.run(Gb28181WvpProxyStarter.class, args);
    }
}
