最近在做海康设备产品的对接,因为频繁操作设备,设备有最大的连接数。而海康设备登录的连接不调退出的接口。连接不能释放,并且最大连接数是有个数限制。
故在程序中只登陆一次,避免重复登录。当程序退出时,监听事件儿触发,调用退出的接口,释放设备的连接,直接上代码
全局变量,在不同方法中赋值、使用 private static List<Map<String,Object>> listInfo = new ArrayList<>(); 具体方法 @Component public class ScreenShotTask implements ApplicationListener<ContextClosedEvent> {
@Override public void onApplicationEvent(ContextClosedEvent event) {// 执行需要在程序关闭时进行的操作//退出登录,释放资源for (int i = 0; i < listInfo.size(); i++) {int userId = Integer.parseInt(listInfo.get(i).get("userId").toString());boolean loginOut = ClientDemo.loginOut(userId);System.out.println("用户登录ID为:" +userId +"退出结果为:。。。。。。。"+loginOut);} }
}