When deploying webapps to a specific host in Tomcat it
somtimes fails depending on wich DNS name or IP
address is the default host. (defaultHost element name
in tomca4-service.xml)
If you have default host set to 127.0.0.1 and have two
host elements 127.0.0.1 and 192.168.0.11 and you
specify in the jboss-web.xml that the war should be
deployed under alias xxx. That alias is reflected under
the host 192.168.0.11 it always deploys on the default
host even if the intension was to deploy it on the
192.168.0.11 host.
It depends on that not all host elements are traversed in
the EmbeddedCatalina.java class.
>>>>> tomcat4-service.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- Set catalina.home to the location of the Tomcat-4.x
dist.
The default value is that of the JBoss/Catalina bundle
where the
jakarta-tomcat-4.0.3-LE-jdk14 is included as
jboss_dist/catalina
-->
<!DOCTYPE server [
<!ENTITY catalina.home "../catalina">
]>
<!-- The service configuration for the embedded Tomcat4
web container
-->
<server>
<classpath
codebase="file:&catalina.home;/common/lib/"
archives="*"/>
<classpath codebase="file:&catalina.home;/server/lib/"
archives="*"/>
<classpath codebase="file:&catalina.home;/bin/"
archives="*"/>
<classpath codebase="file:&catalina.home;/lib/"
archives="*"/>
<classpath codebase="." archives="tomcat4-
service.jar"/>
<mbean
code="org.jboss.web.catalina.EmbeddedCatalinaService
SX"
name="jboss.web:service=EmbeddedCatalinaSX">
<attribute
name="CatalinaHome">&catalina.home;</attribute>
<!-- Uncomment this if you want interval snapshot for
the
session clustering.
<attribute name="SnapshotMode">interval</attribute>
<attribute name="SnapshotInterval">2000</attribute>
-->
<attribute name="Config">
<Server>
<Service name = "JBoss-Tomcat">
<Engine name="MainEngine"
defaultHost="127.0.0.1">
<Logger className
= "org.jboss.web.catalina.Log4jLogger"
verbosityLevel = "trace" category
= "org.jboss.web.localhost.Engine"/>
<!-- Private Host -->
<Host name="127.0.0.1">
<Alias>jmx-console</Alias>
<Valve className
= "org.apache.catalina.valves.AccessLogValve"
prefix = "127.0.0.1_access" suffix = ".log"
pattern = "common" directory
= "/var/log/" />
<DefaultContext cookies = "true"
crossContext = "true" override = "true" />
</Host>
<!-- Public Host -->
<Host name="192.168.0.11">
<Alias>xxx</Alias>
<Valve className
= "org.apache.catalina.valves.AccessLogValve"
prefix = "192.168.0.11_access" suffix
= ".log"
pattern = "common" directory
= "/var/log/" />
</Host>
</Engine>
...
Kristoffer & Patrik