Tak jak vypada kod, ktery to NPE vyhodil ...

jedna se o nasledujici metody:

        at org.apache.commons.digester.Digester.getXMLReader(Digester.java:891)
        at org.apache.commons.digester.Digester.parse(Digester.java:1591)
        
Letmim pohledem do techto metod (verze 1.8, netusim, kterou pouzivate vy) bych 
rekl ze ten kdo je psal je trochu cune,
ale nema se tam moc co podelat. Jedina moznost je, ze behem vytvareni SAX 
parseru to vyhodi vyjimku, kterou autor vtipne
zachyti a vrati null, coz muze vest k vami popisovanemu chovani.

Takze si zapnete logovani tak, aby to pro digester vypisovalo alespon ERRORy a 
pak by se vyjimka mela zobrazit ...

Hodne stesti!

    public XMLReader getXMLReader() throws SAXException {
        if (reader == null){
            reader = getParser().getXMLReader();
        }

        reader.setDTDHandler(this);
        reader.setContentHandler(this);

        if (entityResolver == null){
            reader.setEntityResolver(this);
        } else {
            reader.setEntityResolver(entityResolver);
        }

        reader.setErrorHandler(this);
        return reader;
    }

    public SAXParser getParser() {

        // Return the parser we already created (if any)
        if (parser != null) {
            return (parser);
        }

        // Create a new parser
        try {
            if (validating && (schemaLocation != null)) {
                // There is no portable way to specify the location of
                // an xml schema to be applied to the input document, so
                // we have to use parser-specific code for this. That code
                // is hidden behind the ParserFeatureSetterFactory class.

                Properties properties = new Properties();
                properties.put("SAXParserFactory", getFactory());
                if (schemaLocation != null) {
                    properties.put("schemaLocation", schemaLocation);
                    properties.put("schemaLanguage", schemaLanguage);
                }
                parser = ParserFeatureSetterFactory.newSAXParser(properties);
            } else {
                // The user doesn't want to use any non-portable parsing 
features,
                // so we can just use the portable API here. Note that method
                // getFactory returns a factory already configured with the
                // appropriate namespaceAware and validating properties.

                parser = getFactory().newSAXParser();
            }
        } catch (Exception e) {
            log.error("Digester.getParser: ", e);
            return (null);
        }

        return (parser);

    }



Petr Burdik napsal(a):
> 
> Ahojte,
> uz jsem ten problem psal i vcera, ale tady je blizsi popis. Mam s tim
> obrovske problemy ze to nejede a uz si fakt nevim rady. Zitra mam
> predvadecku projektu ktery je naprogramovany a kvuli takoveto blbine mi
> to nechce nabehnout.
> 
> popis problemu:
> kdyz neni zakomentovany blok radku:
>         <property name="definitions">
>             <list>
>                 <value>/WEB-INF/tiles-itsynapse.xml</value>
>             </list>
>         </property>
> 
> v konfiguraci springu, vyhodi mi pri spusteni aplikace
> java.lang.NullPointerException (cela chyba na konci mailu). Nemuzu uz
> treti den prijit na to proc. Nezkusite me prosim nakopnout? Aplikace s
> timto nastavenim uz mi fungovala cca rok a neco. Ten definicni soubor
> jsem zkratil a takto jsem to i testoval se stejnym "uspechem"
> 
> konfigurace v spring-servlet.xml
> --------------------------------
> 
>     <bean id="tilesConfigurer"
> class="org.springframework.web.servlet.view.tiles.TilesConfigurer">
>         <property name="factoryClass"
> value="org.apache.struts.tiles.xmlDefinition.I18nFactorySet"/>
>         <property name="definitions">
>             <list>
>                 <value>/WEB-INF/tiles-itsynapse.xml</value>
>             </list>
>         </property>
>     </bean>
> 
> 
> 
> ukazka souboru:
> --------------------------------
> <?xml version="1.0" encoding="ISO-8859-1" ?>
> 
> <!DOCTYPE tiles-definitions PUBLIC
>        "-//Apache Software Foundation//DTD Tiles Configuration 1.3//EN"
>        "http://struts.apache.org/dtds/tiles-config_1_3.dtd";>
> <tiles-definitions>
>     <definition name=".cms.ajaxInterface"
> path="/WEB-INF/jsp/cms/itsynapse/ajaxInterface.jsp"/>
> </tiles-definitions>
> 
> 
> 
> exception kterou to vyhodi
> --------------------------------
> 2007-04-11 09:27:04,611 ERROR
> [org.springframework.web.context.ContextLoader] - <Context
> initialization failed>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'tilesConfigurer' defined in ServletContext resource
> [/WEB-INF/springapp-servlet.xml]: Invocation of init method failed;
> nested exception is java.lang.NullPointerException
> Caused by:
> java.lang.NullPointerException
>         at
> org.apache.commons.digester.Digester.getXMLReader(Digester.java:891)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at
> org.apache.struts.tiles.xmlDefinition.XmlParser.parse(XmlParser.java:277)
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFile(I18nFactorySet.java:511)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFiles(I18nFactorySet.java:446)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.createDefaultFactory(I18nFactorySet.java:263)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:238)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:188)
> 
>         at
> org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper.init(ComponentDefinitionsFactoryWrapper.java:102)
> 
>         at
> org.apache.struts.tiles.TilesUtilImpl.createDefinitionsFactory(TilesUtilImpl.java:136)
> 
>         at
> org.apache.struts.tiles.TilesUtil.createDefinitionsFactory(TilesUtil.java:165)
> 
>         at
> org.springframework.web.servlet.view.tiles.TilesConfigurer.createDefinitionsFactory(TilesConfigurer.java:133)
> 
>         at
> org.springframework.web.servlet.view.tiles.TilesConfigurer.afterPropertiesSet(TilesConfigurer.java:119)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1143)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1110)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:431)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254)
> 
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163)
> 
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
> 
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> 
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)
> 
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
> 
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
> 
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
> 
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
>         at
> org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
>         at
> org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:368)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 
>         at
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
> 
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> 
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> 
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 
>         at java.lang.Thread.run(Thread.java:619)
> 2007-04-11 09:27:04,617 ERROR
> [org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/itsynapse20]]
> - <Exception sending context initialized event to listener instance of
> class org.springframework.web.context.ContextLoaderListener>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'tilesConfigurer' defined in ServletContext resource
> [/WEB-INF/springapp-servlet.xml]: Invocation of init method failed;
> nested exception is java.lang.NullPointerException
> Caused by:
> java.lang.NullPointerException
>         at
> org.apache.commons.digester.Digester.getXMLReader(Digester.java:891)
>         at org.apache.commons.digester.Digester.parse(Digester.java:1591)
>         at
> org.apache.struts.tiles.xmlDefinition.XmlParser.parse(XmlParser.java:277)
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFile(I18nFactorySet.java:511)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFiles(I18nFactorySet.java:446)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.createDefaultFactory(I18nFactorySet.java:263)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:238)
> 
>         at
> org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:188)
> 
>         at
> org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper.init(ComponentDefinitionsFactoryWrapper.java:102)
> 
>         at
> org.apache.struts.tiles.TilesUtilImpl.createDefinitionsFactory(TilesUtilImpl.java:136)
> 
>         at
> org.apache.struts.tiles.TilesUtil.createDefinitionsFactory(TilesUtil.java:165)
> 
>         at
> org.springframework.web.servlet.view.tiles.TilesConfigurer.createDefinitionsFactory(TilesConfigurer.java:133)
> 
>         at
> org.springframework.web.servlet.view.tiles.TilesConfigurer.afterPropertiesSet(TilesConfigurer.java:119)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1143)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1110)
> 
>         at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:431)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:254)
> 
>         at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:144)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:251)
> 
>         at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163)
> 
>         at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:284)
> 
>         at
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> 
>         at
> org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:241)
> 
>         at
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:184)
> 
>         at
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
> 
>         at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
> 
>         at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
>         at
> org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
>         at
> org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:368)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 
>         at
> org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> 
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> 
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> 
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> 
>         at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
> 
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> 
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> 
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> 
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> 
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> 
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> 
>         at java.lang.Thread.run(Thread.java:619)
> 
> Za nakopnuti predem moc dik
> Pet
> 
> --Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

-- 
Jiří Mareš (mailto:[EMAIL PROTECTED])
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic

Odpovedet emailem