| @ -0,0 +1,42 @@ | |||||
| package com.inspect.nvr.config; | |||||
| import com.inspect.nvr.daHuaCarme.jna.NetSDKLib; | |||||
| import com.inspect.nvr.hikVision.utils.jna.HCNetSDK; | |||||
| import com.inspect.nvr.service.DahuaLoginService; | |||||
| import com.inspect.nvr.service.HikLoginService; | |||||
| import lombok.extern.slf4j.Slf4j; | |||||
| import org.springframework.stereotype.Component; | |||||
| import javax.annotation.PreDestroy; | |||||
| import javax.annotation.Resource; | |||||
| /** | |||||
| * 释放SDK资源 | |||||
| * 海康/大华:登录句柄和SDK资源 | |||||
| */ | |||||
| @Slf4j | |||||
| @Component | |||||
| public class SdkCleanup { | |||||
| @Resource | |||||
| private HCNetSDK hcNetSDK; | |||||
| @Resource | |||||
| private HikLoginService hikLoginService; | |||||
| @Resource | |||||
| private NetSDKLib dhNetSDK; | |||||
| @Resource | |||||
| private DahuaLoginService dahuaLoginService; | |||||
| @PreDestroy | |||||
| public void cleanup() { | |||||
| log.info("JVM shutting down, cleaning up SDK resources..."); | |||||
| // 注销所有登录句柄 | |||||
| hikLoginService.logoutAll(); | |||||
| dahuaLoginService.logoutAll(); | |||||
| log.info("已注销所有登录句柄"); | |||||
| // 释放SDK全局资源 | |||||
| hcNetSDK.NET_DVR_Cleanup(); | |||||
| dhNetSDK.CLIENT_Cleanup(); | |||||
| log.info("已释放所有SDK资源"); | |||||
| } | |||||
| } | |||||