|
|
|
@ -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资源"); |
|
|
|
} |
|
|
|
} |