From c9e48bd2dff2b5766589024cf7264189b5f2a05c Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期五, 03 一月 2025 14:03:33 +0800 Subject: [PATCH] cpp释放java占用内存 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java index ce7dd8b..b4a0756 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/sample/SampleConstructor.java @@ -1,15 +1,18 @@ package com.iailab.module.model.mdk.sample; -import com.iailab.module.model.mdk.common.exceptions.DataAccessException; +import com.iailab.module.model.mdk.common.exceptions.ModelInvokeException; +import com.iailab.module.model.mdk.sample.dto.ColumnItemPort; import com.iailab.module.model.mdk.sample.dto.SampleData; import com.iailab.module.model.mdk.sample.dto.SampleInfo; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; -import java.sql.Timestamp; import java.text.MessageFormat; import java.util.Date; import java.util.List; +import java.util.Map; /** * 样本构造 @@ -18,24 +21,35 @@ * @Description * @createTime 2024年09月03日 */ +@Slf4j @Component public class SampleConstructor { @Autowired private SampleFactory sampleFactory; - public List<SampleData> constructSample(String typeA, String modelId, Date runTime) { + public List<SampleData> constructSample(String typeA, String modelId, Date runTime,String itemName, Map<Integer, Integer> dynamicDataLength) throws ModelInvokeException { try { SampleInfoConstructor sampleInfoConstructor = sampleFactory.createSampleInfo(typeA, modelId); SampleInfo sampleInfo = sampleInfoConstructor.prepareSampleInfo(modelId, runTime); - SampleDataConstructor sampleDataConstructor = sampleFactory.createSampelData(typeA); + if (!CollectionUtils.isEmpty(dynamicDataLength) && sampleInfo.getColumnInfo() != null) { + for(ColumnItemPort columnInfo : sampleInfo.getColumnInfo()) { + if (!dynamicDataLength.containsKey(columnInfo.getPortOrder())) { + continue; + } + columnInfo.setDataLength(dynamicDataLength.get(columnInfo.getPortOrder())); + columnInfo.getColumnItemList().forEach(columnItem -> { + columnItem.setDataLength(columnInfo.getDataLength()); + }); + } + } + SampleDataConstructor sampleDataConstructor = sampleFactory.createSampleData(typeA); return sampleDataConstructor.prepareSampleData(sampleInfo); } catch (Exception e) { - DataAccessException exception = new DataAccessException(MessageFormat.format("{0},类名为{1}", - DataAccessException.errorDataAccess, Thread.currentThread().getStackTrace()[1].getClassName())); - System.out.println(exception); e.printStackTrace(); - return null; + log.error("获取模型的算法参数异常",e); + throw new ModelInvokeException(MessageFormat.format("{0},Name:{1}", + ModelInvokeException.errorGetModelArithParam, itemName)); } -- Gitblit v1.9.3