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

Reply via email to