我想创建一个全局自定义过滤器,捕获(用于检查/修改等)服务器上所有Web应用程序的http-headers。 我试图将我的过滤器应用为standalone.xml中的全局模块,但它不起作用
<subsystem xmlns="urn:jboss:domain:ee:1.1">
<spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
<jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
<global-modules>
<module name="com.myfilter.filter" slot="main"/>
</global-modules>
</subsystem>
请帮帮我!
答案 0 :(得分:1)
全局模块只会向全局类路径添加内容,不会将其用于请求。
您要求的是Java EE规范之外的内容。一些服务器支持诸如规范扩展之类的功能。 Tomcat和JBoss使用Valves获得了如此广泛的支持。您应该能够通过实现Tomcat Valve,将其作为模块安装,然后将其配置为JBoss,如instructed here来完成您所需的工作:
<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
<valve name="myvalve" module="org.jboss.web-valves" class-name="org.apache.catalina.valves.AccessLogValve">
<param param-name="prefix" param-value="catalina_access_log."/>
<param param-name="suffix" param-value=".txt"/>
</valve>
. . . .
</subsystem>