Custom WildFly JBossWeb Valve: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 18: Line 18:
     </virtual-server>
     </virtual-server>


     <valve name="MIG Valve" module="io.novaordis.jboss.wildfly.global-jbossweb-valve" class-name="io.novaordis.jboss.wildfly.jbossweb.valve.GlobalValve">
     <valve name="MIG Valve"  
              module="io.novaordis.jboss.wildfly.global-jbossweb-valve"  
              class-name="io.novaordis.jboss.wildfly.jbossweb.valve.GlobalValve">
         <param param-name="someConfigurationParameter" param-value="some value"/>
         <param param-name="someConfigurationParameter" param-value="some value"/>
     </valve>
     </valve>
</subsystem>
</subsystem>
</pre>
</pre>
The valve code must be deployed as part of a [[WildFly Modules#Overview|JBoss module]].


=Context Valve=
=Context Valve=

Revision as of 23:31, 27 February 2017

Internal

Overview

This article explains how to write and deploy a custom Tomcat valve into WildFly/EAP JBossWeb runtime. For details on how to write and deploy a custom Tomcat valve into a Tomcat container, see

Custom Tomcat Valve

A custom valve can be deployed globally as part of the JBossWeb Engine's request processing pipeline, or embedded with an application, part of the Context's request processing pipeline. If the valve is deployed globally, it must be declared in standalone.xml/domain.xml, as described in "Global Valve" section. If the valve is embedded with the application, it must be declared in jboss-web.xml, as described in "Context Valve" section.

Global Valve

A global valve is declared in standalone.xml as follows:

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" ...>
    <connector .../>
    <virtual-server name="default-host" ...>
       ...
    </virtual-server>

    <valve name="MIG Valve" 
               module="io.novaordis.jboss.wildfly.global-jbossweb-valve" 
               class-name="io.novaordis.jboss.wildfly.jbossweb.valve.GlobalValve">
        <param param-name="someConfigurationParameter" param-value="some value"/>
    </valve>
</subsystem>

The valve code must be deployed as part of a JBoss module.

Context Valve