diff --git a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/factory/QueryFactory.java b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/factory/QueryFactory.java index 022d616bd27180b0c45238712a90438b75401bd1..a633d9341e9c7711b040cd15af18037cf8070319 100644 --- a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/factory/QueryFactory.java +++ b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/factory/QueryFactory.java @@ -7,35 +7,34 @@ import java.util.stream.Collectors; import org.apache.commons.lang3.StringUtils; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.tools.StringTools; import com.x.query.core.entity.Query; import com.x.query.service.processing.AbstractFactory; import com.x.query.service.processing.Business; - -import net.sf.ehcache.Ehcache; -import net.sf.ehcache.Element; +import com.x.base.core.project.cache.Cache.CacheCategory; +import com.x.base.core.project.cache.Cache.CacheKey; +import com.x.base.core.project.cache.CacheManager; +import java.util.Optional; public class QueryFactory extends AbstractFactory { - private Ehcache cache; + private CacheCategory cache; public QueryFactory(Business business) throws Exception { super(business); - this.cache = ApplicationCache.instance().getCache(Query.class); + this.cache = new CacheCategory(Query.class); } public List pick(List flags) throws Exception { List list = new ArrayList<>(); for (String str : flags) { - Element element = cache.get(str); - if (null != element) { - if (null != element.getObjectValue()) { - list.add((Query) element.getObjectValue()); - } + CacheKey cacheKey = new CacheKey(str); + Optional optional = CacheManager.get(cache, cacheKey); + if (optional.isPresent()) { + list.add((Query) optional.get()); } else { Query o = this.pickObject(str); - cache.put(new Element(str, o)); + CacheManager.put(cache, cacheKey, o); if (null != o) { list.add(o); } @@ -49,14 +48,13 @@ public class QueryFactory extends AbstractFactory { return null; } Query o = null; - Element element = cache.get(flag); - if (null != element) { - if (null != element.getObjectValue()) { - o = (Query) element.getObjectValue(); - } + CacheKey cacheKey = new CacheKey(flag); + Optional optional = CacheManager.get(cache, cacheKey); + if (optional.isPresent()) { + o = (Query) optional.get(); } else { o = this.pickObject(flag); - cache.put(new Element(flag, o)); + CacheManager.put(cache, cacheKey, o); } return o; } diff --git a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/ActionListCalculateWithWork.java b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/ActionListCalculateWithWork.java index 1556b90feea9fe8da21978505ba553febb12a906..7b2b98aaf0db62227a3d6483e6d7de2f70b774b2 100644 --- a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/ActionListCalculateWithWork.java +++ b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/ActionListCalculateWithWork.java @@ -20,7 +20,6 @@ import com.x.base.core.container.EntityManagerContainer; import com.x.base.core.container.factory.EntityManagerContainerFactory; import com.x.base.core.entity.dataitem.DataItemConverter; import com.x.base.core.entity.dataitem.ItemCategory; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.config.Config; import com.x.base.core.project.config.StorageMapping; import com.x.base.core.project.exception.ExceptionEntityNotExist; @@ -43,8 +42,9 @@ import com.x.query.service.processing.Business; import com.x.query.service.processing.ThisApplication; import com.x.query.service.processing.helper.ExtractTextHelper; import com.x.query.service.processing.helper.LanguageProcessingHelper; - -import net.sf.ehcache.Element; +import com.x.base.core.project.cache.Cache.CacheKey; +import com.x.base.core.project.cache.CacheManager; +import java.util.Optional; class ActionListCalculateWithWork extends BaseAction { @@ -63,10 +63,10 @@ class ActionListCalculateWithWork extends BaseAction { throw new ExceptionModelNotReady(model.getName()); } NeuralNetwork neuralNetwork = null; - String cacheKey = ApplicationCache.concreteCacheKey(this.getClass(), model.getId()); - Element element = cache.get(cacheKey); - if (null != element && (null != element.getObjectValue())) { - neuralNetwork = ((NeuralNetwork) element.getObjectValue()); + CacheKey cacheKey = new CacheKey(this.getClass(), model.getId()); + Optional optional = CacheManager.get(cache, cacheKey); + if (optional.isPresent()) { + neuralNetwork = ((NeuralNetwork) optional.get()); } else { if (StringUtils.isEmpty(model.getNnet())) { throw new ExceptionModelNotReady(model.getName()); @@ -75,7 +75,7 @@ class ActionListCalculateWithWork extends BaseAction { NeuralNetworkCODEC.array2network( DoubleTools.byteToDoubleArray(ByteTools.decompressBase64String(model.getNnet())), neuralNetwork); - cache.put(new Element(cacheKey, neuralNetwork)); + CacheManager.put(cache, cacheKey, neuralNetwork); } Wo wo = new Wo(); Work work = emc.flag(workId, Work.class); diff --git a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/BaseAction.java b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/BaseAction.java index 8591da15acb4d016b37ca2556c19cfd5976cf6c0..8a0b11fa83d8f5b03c6079166661f66d1b101691 100644 --- a/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/BaseAction.java +++ b/o2server/x_query_service_processing/src/main/java/com/x/query/service/processing/jaxrs/neural/BaseAction.java @@ -1,16 +1,14 @@ package com.x.query.service.processing.jaxrs.neural; -import com.x.base.core.project.cache.ApplicationCache; import com.x.base.core.project.jaxrs.StandardJaxrsAction; import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.query.core.entity.neural.Model; - -import net.sf.ehcache.Ehcache; +import com.x.base.core.project.cache.Cache.CacheCategory; abstract class BaseAction extends StandardJaxrsAction { - protected Ehcache cache = ApplicationCache.instance().getCache(Model.class); + protected CacheCategory cache = new CacheCategory(Model.class); private static Logger logger = LoggerFactory.getLogger(BaseAction.class);