●函数:
本示例程序通过周期性的tag点表版本号比对来更新java内存缓存中的点表。
●详情:
步骤一
根据IP地址、端口、用户名、密码参数创建ihd连接并登录。如连接成功建立,则调用查询tag点表版本号方法;如连接异常,直接返回,终止程序运行。
步骤二
在查询tag点表版本号方法中,实例化Runnable对象(即周期任务),初始化线程池(任务执行周期可根据需要自行设置)。在周期任务中,比较接口返回的点表版本号和内存中的版本号,如版本号有变化,则调用查询普通点方法。
步骤三
在查询普通点方法中,根据需求设置查询条件,之后查询返回普通点表,并根据tag名称更新内存缓存中的普通点对象(对象为ConcurrentHashMap,其中key为tag名称,value为tag对象,包含tagid属性)。
步骤四
系统停止运行时,(通常指停止tomcat),需要在对应方法中调用stopThreadPoolExecutor和closeConnection方法来停止线程池并关闭ihd连接,以防止内存泄漏。