JAVA 通过KEPServer4.0 操作数据时报错:org.jinterop.dcom.common.JIException: Not enough storage is available to complete this operation

最近在做一个项目,使用KEPServerEX 4.0 采集PLC数据,项目是JAVA写的,程序写好后,开始能正常运行
,采集数据和远程操作设备都正常,但是程序运行了大概两天左右后就报错了,采集和操作都不行了,报错
内容如下:

org.jinterop.dcom.common.JIException: Not enough storage is available to complete this operation.  [0x8007000E]
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:1012)
    at org.jinterop.dcom.core.JIComServer.call(JIComServer.java:951)
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:293)
    at org.jinterop.dcom.core.JIComObjectImpl.call(JIComObjectImpl.java:159)
    at org.openscada.opc.dcom.common.impl.Helper.callIgnoreSpecificError(Helper.java:57)
    at org.openscada.opc.dcom.da.impl.OPCServer.addGroup(OPCServer.java:71)
    at org.openscada.opc.lib.da.Server.addGroup(Server.java:251)
    at org.openscada.opc.lib.da.Server.addGroup(Server.java:281)
    at com.xl.gngr.opc.OpcDeviceModify.modifyDeviceRateAndSwitch(OpcDeviceModify.java:75)
    at com.xl.gngr.controllerapp.OpcController.modifyDeviceRate(OpcController.java:52)
    at com.xl.gngr.controllerapp.OpcController$$FastClassBySpringCGLIB$$dc5c6886.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:88)
    at com.xl.gngr.aop.LogAop.aroundAdvice(LogAop.java:94)
    at sun.reflect.GeneratedMethodAccessor302.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:644)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:633)
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)
    at com.xl.gngr.controllerapp.OpcController$$EnhancerBySpringCGLIB$$82380b6.modifyDeviceRate(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)

实在不知道原因,各位大神帮看看。
我连接OPC是通过utgard来连接的,代码如下:

ConnectionInformation connectionInfo = new ConnectionInformation();
        connectionInfo.setHost("127.0.0.1");
        connectionInfo.setClsid("6E6170F0-FF2D-11D2-8087-00105AA8F840");
        connectionInfo.setUser("OPCUser");
        connectionInfo.setDomain("");
        connectionInfo.setPassword("123456");

        ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
        Server mServer =  new Server(connectionInfo, executor);
        try {
            mServer.connect();
            Group group = mServer.addGroup();
            //先通过OPC树形结构获取itemID
            FlatBrowser browser = mServer.getFlatBrowser();
            List<String> itemIdList = new ArrayList<>();
            for (String name : browser.browse()) {
                //匹配字符串获取想要的itemID
                if (name.startsWith("STAND14.Device1") && !name.contains("STAND14.Device1._")) {
                    itemIdList.add(name);
                }
            }
            int length = itemIdList.size();
            Item[] itemArr = new Item[length];
            for (int i = 0; i < length; i++) {
                itemArr[i] = group.addItem(itemIdList.get(i));
            }
            //读取数据
            Map<Item, ItemState> itemsMap = group.read(true, itemArr);
            //入库省略

            //关闭连接
            mServer.disconnect();
        }catch (Exception e){
            e.printStackTrace();
        }

老哥,解决了吗,怎么解决的?

Not enough storage is available to complete this operation
内存或者硬盘满了,或者超过文件大小上限