Hi , When I update my code for embedding tomcat 5.x to embedding 6.x, a null pointer exception blocks me . I dug the code , I found it cause by the org.apache.catalina.connector.MapperListener difference :
Tomcat5.x ------------------- /** * Register host. */ private void registerHost(ObjectName objectName) throws Exception { String name=objectName.getKeyProperty("host"); if( name != null ) { String[] aliases = (String[]) mBeanServer.invoke(objectName, "findAliases", null, null); mapper.addHost(name, aliases, objectName); if(log.isDebugEnabled()) log.debug(sm.getString ("mapperListener.registerHost", name, domain)); } } Tomcat6.x ----------------- /** * Register host. */ private void registerHost(ObjectName objectName) throws Exception { String name=objectName.getKeyProperty("host"); if( name != null ) { Host host = (Host) ServerFactory.getServer().findService( domain).getContainer().findChild(name); String[] aliases = host.findAliases(); mapper.addHost(name, aliases, objectName); host.addContainerListener(this); if(log.isDebugEnabled()) log.debug(sm.getString ("mapperListener.registerHost", name, domain)); } } Is this change to fix an issue ? Or Tomcat6.x totally change the host name looking up mechanism . Could you also point to me where can I find the Tomcat6.x document about difference with Tomcat5.x if there is ? for example architecture , execution etc. Thanks in advance . Jim Ma