Explorar el Código

Merge branch 'master' of http://116.63.33.55/git/read_opc

ljh hace 2 años
padre
commit
d9ab37a987

+ 7 - 7
chuanyi_server/src/main/java/com/judong/chuanyiserver/config/OpcAsyncTask.java

@@ -4,23 +4,21 @@ import com.judong.chuanyiserver.dao.DataSourceDao;
 import com.judong.chuanyiserver.dao.ItemGroupDao;
 import com.judong.chuanyiserver.dao.RawDataDao;
 import com.judong.chuanyiserver.entity.*;
-import com.judong.chuanyiserver.enums.DataSourceTypeEnum;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.exception.CustomException;
-import com.judong.chuanyiserver.util.*;
+import com.judong.chuanyiserver.util.Blank;
+import com.judong.chuanyiserver.util.ConstantStr;
+import com.judong.chuanyiserver.util.KepOpcServerUtil;
+import com.judong.chuanyiserver.util.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
-import org.jinterop.dcom.common.JIException;
 import org.openscada.opc.dcom.da.OPCSERVERSTATE;
-import org.openscada.opc.lib.common.AlreadyConnectedException;
-import org.openscada.opc.lib.common.NotConnectedException;
-import org.openscada.opc.lib.da.*;
 import org.openscada.opc.lib.da.Item;
+import org.openscada.opc.lib.da.*;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.AsyncResult;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.net.UnknownHostException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.Future;
@@ -141,6 +139,8 @@ public class OpcAsyncTask {
             e.printStackTrace();
             redisUtil.del(ConstantStr.ITEM_GROUP + id);
             itemGroupDao.runItemGroupById(id, ConstantStr.STOP_IT);
+        }finally {
+            server.dispose();
         }
     }
 

+ 1 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/DictController.java

@@ -8,9 +8,9 @@ import com.judong.chuanyiserver.service.DictService;
 import com.judong.chuanyiserver.util.Blank;
 import com.judong.chuanyiserver.util.Result;
 import org.springframework.web.bind.annotation.*;
+
 import javax.annotation.Resource;
 import java.util.List;
-import java.util.Map;
 
 @RestController
 @RequestMapping("dict")

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/controller/RoleController.java

@@ -11,7 +11,6 @@ import com.judong.chuanyiserver.enums.ServerEnum;
 import com.judong.chuanyiserver.service.RoleService;
 import com.judong.chuanyiserver.util.Blank;
 import com.judong.chuanyiserver.util.Result;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 

+ 0 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/ChannelSettingDao.java

@@ -2,11 +2,9 @@ package com.judong.chuanyiserver.dao;
 
 import com.judong.chuanyiserver.entity.ChannelSetting;
 import com.judong.chuanyiserver.entity.Config;
-import com.judong.chuanyiserver.util.Result;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
-import java.util.Map;
 
 @Repository
 public interface ChannelSettingDao {

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/DictDao.java

@@ -6,7 +6,6 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
-import java.util.Map;
 
 @Repository
 public interface DictDao {

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/RoleDao.java

@@ -2,7 +2,6 @@ package com.judong.chuanyiserver.dao;
 
 import com.judong.chuanyiserver.entity.Menu;
 import com.judong.chuanyiserver.entity.Role;
-import com.judong.chuanyiserver.util.Result;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/dao/UserDao.java

@@ -1,6 +1,5 @@
 package com.judong.chuanyiserver.dao;
 
-import com.judong.chuanyiserver.entity.Permission;
 import com.judong.chuanyiserver.entity.Role;
 import com.judong.chuanyiserver.entity.User;
 import com.judong.chuanyiserver.entity.UserRole;

+ 0 - 4
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/ConnectService.java

@@ -2,10 +2,6 @@ package com.judong.chuanyiserver.service;
 
 import com.judong.chuanyiserver.entity.ServerInformation;
 import com.judong.chuanyiserver.util.Result;
-import org.jinterop.dcom.common.JIException;
-import org.openscada.opc.lib.common.AlreadyConnectedException;
-
-import java.net.UnknownHostException;
 
 public interface ConnectService {
 

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/DictService.java

@@ -5,7 +5,6 @@ import com.judong.chuanyiserver.entity.DictType;
 import com.judong.chuanyiserver.util.Result;
 
 import java.util.List;
-import java.util.Map;
 
 public interface DictService {
     /**

+ 0 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/PermissionService.java

@@ -3,8 +3,6 @@ package com.judong.chuanyiserver.service;
 import com.judong.chuanyiserver.entity.Permission;
 import com.judong.chuanyiserver.util.Result;
 
-import java.util.List;
-
 public interface PermissionService {
 
     Result addPermission(Permission permission);

+ 0 - 1
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/UserService.java

@@ -1,6 +1,5 @@
 package com.judong.chuanyiserver.service;
 
-import com.judong.chuanyiserver.entity.Permission;
 import com.judong.chuanyiserver.entity.Role;
 import com.judong.chuanyiserver.entity.User;
 import com.judong.chuanyiserver.entity.UserRole;

+ 1 - 2
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/ConnectServiceImpl.java

@@ -1,8 +1,8 @@
 package com.judong.chuanyiserver.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
-import com.judong.chuanyiserver.dao.ConnectDao;
 import com.judong.chuanyiserver.dao.ChannelSettingDao;
+import com.judong.chuanyiserver.dao.ConnectDao;
 import com.judong.chuanyiserver.entity.Config;
 import com.judong.chuanyiserver.entity.ServerInformation;
 import com.judong.chuanyiserver.enums.ConnectModeEnum;
@@ -16,7 +16,6 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.List;
-import java.util.Map;
 
 @Service
 @Transactional

+ 6 - 8
chuanyi_server/src/main/java/com/judong/chuanyiserver/service/impl/ItemGroupServiceImpl.java

@@ -3,23 +3,21 @@ package com.judong.chuanyiserver.service.impl;
 import com.judong.chuanyiserver.config.OpcAsyncTask;
 import com.judong.chuanyiserver.dao.DataSourceDao;
 import com.judong.chuanyiserver.dao.ItemGroupDao;
-import com.judong.chuanyiserver.entity.*;
+import com.judong.chuanyiserver.entity.DataSource;
+import com.judong.chuanyiserver.entity.DataSourceType;
+import com.judong.chuanyiserver.entity.Item;
+import com.judong.chuanyiserver.entity.ItemGroup;
 import com.judong.chuanyiserver.enums.DataSourceTypeEnum;
 import com.judong.chuanyiserver.enums.ResultEnum;
 import com.judong.chuanyiserver.exception.CustomException;
 import com.judong.chuanyiserver.service.ItemGroupService;
 import com.judong.chuanyiserver.util.*;
-import org.openscada.opc.dcom.da.OPCSERVERSTATE;
-import org.openscada.opc.lib.da.Group;
-import org.openscada.opc.lib.da.ItemState;
-import org.openscada.opc.lib.da.Server;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.*;
-
-import static com.judong.chuanyiserver.util.KepOpcServerUtil.getVal;
+import java.util.ArrayList;
+import java.util.List;
 
 @Service
 @Transactional

+ 9 - 4
chuanyi_server/src/main/java/com/judong/chuanyiserver/util/KepOpcServerUtil.java

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.judong.chuanyiserver.config.KepOpcServerPoolFactory;
 import com.judong.chuanyiserver.entity.ChannelSetting;
 import com.judong.chuanyiserver.entity.DataSource;
-import com.judong.chuanyiserver.entity.RawData;
 import com.judong.chuanyiserver.entity.ServerInformation;
 import com.judong.chuanyiserver.enums.ConnectModeEnum;
 import com.judong.chuanyiserver.enums.ResultEnum;
@@ -15,7 +14,10 @@ import org.jinterop.dcom.common.JIException;
 import org.jinterop.dcom.core.JIVariant;
 import org.openscada.opc.dcom.da.OPCSERVERSTATE;
 import org.openscada.opc.lib.common.ConnectionInformation;
-import org.openscada.opc.lib.da.*;
+import org.openscada.opc.lib.da.Group;
+import org.openscada.opc.lib.da.Item;
+import org.openscada.opc.lib.da.ItemState;
+import org.openscada.opc.lib.da.Server;
 import org.openscada.opc.lib.da.browser.Branch;
 import org.openscada.opc.lib.da.browser.Leaf;
 import org.openscada.opc.lib.da.browser.TreeBrowser;
@@ -23,7 +25,6 @@ import org.openscada.opc.lib.da.browser.TreeBrowser;
 import java.net.UnknownHostException;
 import java.util.*;
 import java.util.concurrent.Executors;
-import java.util.stream.Collectors;
 
 /**
  * KepOpcServer协议工具类
@@ -166,8 +167,8 @@ public class KepOpcServerUtil {
      * @throws Exception
      */
     public static Result opcReadItemTree(DataSource dataSource) {
+        Server server = KepOpcServerUtil.createServer(dataSource);
         try {
-            Server server = KepOpcServerUtil.createServer(dataSource);
             server.connect();
             if (null == server.getServerState()) {
                 throw new CustomException(ResultEnum.NOT_FOUND.getRespCode(), "连接失败");
@@ -178,6 +179,8 @@ public class KepOpcServerUtil {
             }
         } catch (Exception e) {
             throw new CustomException(ResultEnum.REQUEST_TIME_OUT.getRespCode(), e.getMessage());
+        } finally {
+            server.dispose();
         }
         throw new CustomException(ResultEnum.SERVER_ERROR.getRespCode(), ResultEnum.SERVER_ERROR.getRespMsg());
     }
@@ -279,6 +282,8 @@ public class KepOpcServerUtil {
             }
         } catch (Exception e) {
             e.printStackTrace();
+        } finally {
+            server.dispose();
         }
         return null;
     }