Platforms
The table below is a comparison of locations a context.xml can be used in Tomcat and JBossAS. The base directory, CATALINA_HOME, is defined in JBossAS as:- JBossAS 4.2.3 GA -
JBOSS_HOME/server/[config]/deploy/jboss-web.deployer
- JBossAS 4.3 GA -
JBOSS_HOME/server/[config]/deploy/jboss-web.deployer
- JBossAS 5.0.0 GA -
JBOSS_HOME/server/[config]/deploy/jbossweb.sar
Location | Tomcat 5.5.x | JBossAS 4.3 | Tomcat 6.x | JBossAS 5.0.0 |
---|---|---|---|---|
CATALINA_HOME/server.xml (Server/Host/Context) | - | + | - | + |
CATALINA_HOME/conf/server.xml (Server/Host/Context) | + | - | + | - |
CATALINA_HOME/context.xml | - | - | - | - |
CATALINA_HOME/conf/context.xml | + | - | + | - |
CATALINA_HOME/conf/[Engine]/[Host]/context.xml | + | - | + | - |
CATALINA_HOME/conf/[Engine]/[Host]/context.xml.default | + | - | + | - |
CATALINA_HOME/conf/[Engine]/[Host]/[ctxPath].xml | + | - | + | - |
JBOSS_HOME/server/[config]/conf/[Engine]/[Host]/context.xml | - | - | - | - |
JBOSS_HOME/server/[config]/conf/[Engine]/[Host]/[ctxPath].xml | - | - | - | - |
[deployed-web-app]/META-INF/context.xml | + | - | + | - |
[deployed-web-app]/WEB-INF/context.xml | - | + | - | + |
Location Effects
This list explains the effect of each location
- [deployed-web-app]/WEB-INF/context.xml - Applies only to the web app
- [deployed-web-app]/META-INF/context.xml - Applies only to the web app
- CATALINA_HOME/conf/[Engine]/[Host]/context.xml.default - Applies to all web apps deployed on [Host] by default. A context.xml deployed with a web app will over-ride.
- CATALINA_HOME/server.xml (Server/Host/Context)- Applies to all web apps deployed on [Host]. Can be overridden by context.xml deployed with web app.
- CATALINA_HOME/conf/server.xml (Server/Host/Context) - Applies to all web apps deployed on [Host]. Can be overridden by context.xml deployed with a web app.
- CATALINA_HOME/conf/context.xml - Applies to all web apps deployed on [Host]. Can be overridden by context.xml deployed with a web app.
Deploying a custom context in JBossAS
Deploy a custom context by following these points:- A custom context must extend o.a.catalina.core.StandardContext
- The custom context class must be deployed with a corresponding mbeans-descriptors.xml
- The custom context and mbeans-descriptor.xml must be deployed in a JAR to JBOSS_HOME/server/[config]/lib
- The o.a.catalina.startup.ContextConfig must be extended if context configuration needs customization.
- JBossAS 5.0
- Edit JBOSS_HOME/server/[config]/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml
- Within the element
<mbean name="WarDeployer"
add the following properties- Mandatory:
<property name="contextMBeanCode">org.your.project.CustomContext<property>
- Optional:
<property name"contextConfigMBeanCode">org.your.project.CustomContextConfig<property>
- Mandatory:
- JBossAS 4.3
- Edit JBOSS_HOME/server/[config]/deploy/jboss-web.deployer/META-INF/jboss-service.xml
- Within
<mbean code="org.jboss.web.tomcat.service.JBossWeb" name="jboss.web:service=WebServer"
- Add
<attribute name="ContextMBeanCode">org.your.project.CustomContext<attribute>
- Add
- Prepare a mbeans-descriptors.xml and include it in a jar file along with your custom context class.
- Deploy the jar file in JBOSS_HOME/server/[config]/lib
Comments