From 1081e864ef01ff37f6b3d17660e121b51663c329 Mon Sep 17 00:00:00 2001 From: Ray Date: Fri, 25 Mar 2022 10:27:00 +0800 Subject: [PATCH] clear debug --- .../SliceEntityManagerContainerFactory.java | 36 ------------------- .../JsonPropertiesValueHandler.java | 6 +--- .../application/ApplicationServerTools.java | 4 --- .../assemble/surface/ThisApplication.java | 22 ++++++++++++ .../control/ActionGetWorkOrWorkCompleted.java | 5 ++- .../surface/jaxrs/control/BaseAction.java | 7 ++-- .../surface/jaxrs/work/BaseAction.java | 4 +-- .../jaxrs/work/V2GetWorkOrWorkCompleted.java | 27 +++++++------- 8 files changed, 43 insertions(+), 68 deletions(-) diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SliceEntityManagerContainerFactory.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SliceEntityManagerContainerFactory.java index 71d97298c7..83043fb78e 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SliceEntityManagerContainerFactory.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/container/factory/SliceEntityManagerContainerFactory.java @@ -29,10 +29,6 @@ import com.x.base.core.entity.annotation.CheckPersist; import com.x.base.core.entity.annotation.CheckRemove; import com.x.base.core.entity.annotation.Flag; import com.x.base.core.entity.annotation.RestrictFlag; -import com.x.base.core.entity.dynamic.DynamicBaseEntity; -import com.x.base.core.entity.dynamic.DynamicEntity; -import com.x.base.core.project.gson.XGsonBuilder; -import com.x.base.core.project.tools.ClassLoaderTools; public abstract class SliceEntityManagerContainerFactory { @@ -177,36 +173,4 @@ public abstract class SliceEntityManagerContainerFactory { } } -// public void refreshDynamicEntity(String webApplicationDirectory, List entities) throws Exception { -// File path = new File(webApplicationDirectory + "/WEB-INF/classes/" + PERSISTENCE_XML_PATH); -// List classNames = PersistenceXmlHelper.write(path.getAbsolutePath(), entities, true); -// ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); -// for (String className : classNames) { -// if (className.startsWith(DynamicEntity.CLASS_PACKAGE) -// || className.equals(DynamicBaseEntity.class.getName())) { -// @SuppressWarnings("unchecked") -// Class clz = (Class) classLoader.loadClass(className); -// checkPersistFieldMap.put(clz, this.loadCheckPersistField(clz)); -// checkRemoveFieldMap.put(clz, this.loadCheckRemoveField(clz)); -// Properties properties = PersistenceXmlHelper.properties(clz.getName(), false); -// entityManagerFactoryMap.put(clz, -// OpenJPAPersistence.createEntityManagerFactory(clz.getName(), PERSISTENCE_XML_PATH, properties)); -// List flagFields = new ArrayList<>(); -// List restrictFlagFields = new ArrayList<>(); -// for (Field o : FieldUtils.getFieldsListWithAnnotation(clz, Id.class)) { -// flagFields.add(o); -// restrictFlagFields.add(o); -// } -// for (Field o : FieldUtils.getFieldsListWithAnnotation(clz, Flag.class)) { -// flagFields.add(o); -// restrictFlagFields.add(o); -// } -// for (Field o : FieldUtils.getFieldsListWithAnnotation(clz, RestrictFlag.class)) { -// restrictFlagFields.add(o); -// } -// flagMap.put(clz, Collections.unmodifiableList(flagFields)); -// restrictFlagMap.put(clz, Collections.unmodifiableList(restrictFlagFields)); -// } -// } -// } } \ No newline at end of file diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/annotation/JsonPropertiesValueHandler.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/annotation/JsonPropertiesValueHandler.java index 6f4cfd965b..2d0de0fcf4 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/annotation/JsonPropertiesValueHandler.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/annotation/JsonPropertiesValueHandler.java @@ -34,7 +34,7 @@ import com.x.base.core.project.gson.XGsonBuilder; public class JsonPropertiesValueHandler extends AbstractValueHandler { private static final long serialVersionUID = 1L; - private static final String PROXY_SUFFIX = "$proxy"; + // private static final String PROXY_SUFFIX = "$proxy"; private Gson gson = XGsonBuilder.instance(); @@ -72,10 +72,6 @@ public class JsonPropertiesValueHandler extends AbstractValueHandler { return null; try { String className = vm.getDeclaredType().getName(); - System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); - System.out.println(className + ":" + Thread.currentThread().getName() + ":" - + Thread.currentThread().getContextClassLoader()); - System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); Class cls = Thread.currentThread().getContextClassLoader().loadClass(className); return gson.fromJson(val.toString(), cls); } catch (ClassNotFoundException e) { diff --git a/o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java b/o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java index d3729a511d..2bc33498e9 100644 --- a/o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java +++ b/o2server/x_console/src/main/java/com/x/server/console/server/application/ApplicationServerTools.java @@ -249,10 +249,6 @@ public class ApplicationServerTools extends JettySeverTools { List officialClassInfos) { officialClassInfos.parallelStream().forEach(info -> { try { - System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!@@@@@@@@@"); - System.out.println(Thread.currentThread().getContextClassLoader()); - System.out.println(Thread.currentThread().getId()); - System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!@@@@@@@@@"); Class clz = Thread.currentThread().getContextClassLoader().loadClass(info.getName()); Path war = Paths.get(Config.dir_store().toString(), info.getSimpleName() + PathTools.DOT_WAR); Path dir = Paths.get(Config.dir_servers_applicationServer_work().toString(), info.getSimpleName()); diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/ThisApplication.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/ThisApplication.java index 512fa5b3b7..dc7690c9fc 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/ThisApplication.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/ThisApplication.java @@ -1,5 +1,12 @@ package com.x.processplatform.assemble.surface; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.x.base.core.project.Context; import com.x.base.core.project.cache.CacheManager; import com.x.base.core.project.message.MessageConnector; @@ -13,6 +20,20 @@ public class ThisApplication { protected static Context context; + private static ExecutorService threadPool; + + public static ExecutorService threadPool() { + return threadPool; + } + + private static void initThreadPool() { + int maximumPoolSize = Runtime.getRuntime().availableProcessors() + 1; + ThreadFactory threadFactory = new ThreadFactoryBuilder() + .setNameFormat(ThisApplication.class.getPackageName() + "-threadpool-%d").build(); + threadPool = new ThreadPoolExecutor(0, maximumPoolSize, 120, TimeUnit.SECONDS, new SynchronousQueue<>(), + threadFactory); + } + public static Context context() { return context; } @@ -21,6 +42,7 @@ public class ThisApplication { try { CacheManager.init(context.clazz().getSimpleName()); context.schedule(CleanKeyLock.class, "2 0/2 * * * ?"); + initThreadPool(); MessageConnector.start(context()); } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java index b867968e06..54a534e7c5 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/ActionGetWorkOrWorkCompleted.java @@ -3,9 +3,7 @@ package com.x.processplatform.assemble.surface.jaxrs.control; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; import org.apache.commons.lang3.BooleanUtils; @@ -19,6 +17,7 @@ import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.tools.PropertyTools; import com.x.processplatform.assemble.surface.Business; +import com.x.processplatform.assemble.surface.ThisApplication; import com.x.processplatform.core.entity.content.Read; import com.x.processplatform.core.entity.content.Task; import com.x.processplatform.core.entity.content.TaskCompleted; @@ -80,7 +79,7 @@ class ActionGetWorkOrWorkCompleted extends BaseAction { logger.error(e); } return wo; - }); + }, ThisApplication.threadPool()); } private Wo workCompleted(Business business, EffectivePerson effectivePerson, WorkCompleted workCompleted) diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java index c053c1b12d..080b594c19 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/control/BaseAction.java @@ -11,6 +11,7 @@ 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.processplatform.assemble.surface.Business; +import com.x.processplatform.assemble.surface.ThisApplication; abstract class BaseAction extends StandardJaxrsAction { @@ -153,10 +154,8 @@ abstract class BaseAction extends StandardJaxrsAction { } - protected CompletableFuture checkControlFuture(EffectivePerson effectivePerson, String flag, - ClassLoader classLoader) { + protected CompletableFuture checkControlFuture(EffectivePerson effectivePerson, String flag) { return CompletableFuture.supplyAsync(() -> { - Thread.currentThread().setContextClassLoader(classLoader); Boolean value = false; try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { Business business = new Business(emc); @@ -166,7 +165,7 @@ abstract class BaseAction extends StandardJaxrsAction { logger.error(e); } return value; - }); + }, ThisApplication.threadPool()); } } diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java index b042e43cb7..24c86defa8 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/BaseAction.java @@ -113,10 +113,8 @@ abstract class BaseAction extends StandardJaxrsAction { } } - protected CompletableFuture checkControlFuture(EffectivePerson effectivePerson, String flag, - ClassLoader classLoader) { + protected CompletableFuture checkControlFuture(EffectivePerson effectivePerson, String flag) { return CompletableFuture.supplyAsync(() -> { - Thread.currentThread().setContextClassLoader(classLoader); Boolean value = false; try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) { Business business = new Business(emc); diff --git a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java index 3d603a0775..4442ef574a 100644 --- a/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java +++ b/o2server/x_processplatform_assemble_surface/src/main/java/com/x/processplatform/assemble/surface/jaxrs/work/V2GetWorkOrWorkCompleted.java @@ -33,6 +33,7 @@ import com.x.base.core.project.organization.Person; import com.x.base.core.project.organization.Unit; import com.x.base.core.project.tools.ListTools; import com.x.processplatform.assemble.surface.Business; +import com.x.processplatform.assemble.surface.ThisApplication; import com.x.processplatform.core.entity.content.Attachment; import com.x.processplatform.core.entity.content.Data; import com.x.processplatform.core.entity.content.Read; @@ -157,7 +158,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture taskFuture(EffectivePerson effectivePerson, String job, String workId, Wo wo) { @@ -169,7 +170,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture attachmentFuture(EffectivePerson effectivePerson, String job, Wo wo) { @@ -202,7 +203,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture readFuture(EffectivePerson effectivePerson, String job, Wo wo) { @@ -214,7 +215,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture workJsonFuture(Work work, Wo wo) { @@ -224,7 +225,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture activityRouteFuture(Work work, Wo wo) { @@ -243,7 +244,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture creatorIdentityFuture(String creatorIdentity, Wo wo) { @@ -254,7 +255,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture creatorPersonFuture(String creatorPerson, Wo wo) { @@ -265,7 +266,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture creatorUnitFuture(String creatorUnit, Wo wo) { @@ -276,7 +277,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture workCompletedJsonFuture(WorkCompleted workCompleted, Wo wo) { @@ -286,7 +287,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture recordFuture(EffectivePerson effectivePerson, String job, Wo wo) { @@ -297,7 +298,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture workCompletedRecordFuture(EffectivePerson effectivePerson, @@ -315,7 +316,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { } catch (Exception e) { logger.error(e); } - }); + }, ThisApplication.threadPool()); } private CompletableFuture workCompletedDataFuture(WorkCompleted workCompleted, Wo wo) { @@ -337,7 +338,7 @@ class V2GetWorkOrWorkCompleted extends BaseAction { logger.error(e); } } - }); + }, ThisApplication.threadPool()); } private boolean attachmentRead(Attachment attachment, EffectivePerson effectivePerson, List identities, -- GitLab