Re: Spring Exception During First Startup of Jahia

Serge Huber <[email protected]> Wed, 09 Aug 2006 13:17:20 +0200
Newsgroups gmane.comp.cms.jahia.install
Message-ID <[email protected]>
Hi Evan,

I double-checked the code to make sure, but you MUST have another error 
BEFORE this one in your output. Because the code in question does this :

        try {
            String[] paths = {"file:" + springPath + 
"/applicationcontext-*.xml"};
            context = new FileSystemXmlApplicationContext(paths, true, 
parentAppContext);
        } catch (Throwable e) {
            logger.error("Cannot load spring initialisation file ",e);
            String[] paths = {"spring/applicationContext*.xml"};
            context = new ClassPathXmlApplicationContext(paths, true, 
parentAppContext); <--- line 77 of SpringContextSingleton in which the 
exception is raised.
        }

So if you are in the catch, it means you already had an error with the 
main configuration. This is usually the source of your problem. I 
suggest you have a look at that, or post the complete console output 
since Tomcat startup here so that we can have a look at it. Basically 
look for a line containing "Cannot load spring initialisation file".

Regards,
  Serge Huber.

Evan J wrote:
> Greetings,
>
> I do not believe that there is anything wrong with the Jahia webapp
> and database connectivity. Before, I was not aware that Java does not
> have support for Unix Socket so I added needed support to MySQL config
> file to allow TCP connection to/from the database -- that issue has
> been resolved or else I wouldn't be able to complete the installation.
>
> As a matter of fact, after installation of Jahia, I wrote a very
> simple servlet and deployed it on a "different" webapp to see if it
> can indeed read from Jahia database (i.e. select * from client;) and
> it was successful. I, then, deployed the same servlet on "jahia"
> webapp (i.e. http://myhost.com/jahia/db/dbcontest) and once again, it
> successfully read the entire table with no problem. So I know for the
> fact, Jahia webapp does not have an issue with regard to deployment as
> the evidence suggests but cannot figure out what config file Spring is
> trying to load or parse.
>
> The exception points at the file not being there but unforunately does
> not provide more verbose information as to what file(s). I was hoping
> someone can give me a pointer to where I go from here.
>
> On 8/8/06, Serge Huber <[email protected]> wrote:
>>
>> Hi Evan,
>>
>> First of all this is not an "official" support system. It is a mailing
>> list, and we at Jahia are just very busy and try to answer it when we
>> can. In the meantime we hope that others would be able to help, as it is
>> not a "closed" mailing list, and anybody is free to join.
>>
>> Now for your Spring error, this is usually a side effect of a previous
>> error. When Spring can't initialise properly, it tries a second init,
>> and this is the error you are getting. Try to look for another error. It
>> could be for example a problem connecting to the database or something
>> like that, as you have had problems with this.
>>
>> As for starting Tomcat instead of jahia.sh, that is fine, but I would
>> recommend you make changes to the default configured Tomcat *only* if
>> you are experienced at deployment within this application server.
>>
>> Did you try Jahia with the default embedded database ? Did this work
>> with you ? There are so many configurations out there that sometimes it
>> can be a permissions problem, firewalls, database, etc.. In three-tier
>> systems it's always a bit more tricky to setup, that is why we provide a
>> standalone configuration.
>>
>> Regards,
>>   Serge Huber.
>>
>> Evan J wrote:
>> > So any takers on this one? I wish the exception would have been more
>> > descriptive as to what file it is not able to parse or locate. Anyway,
>> > I am starting up Jahia via Tomcat, that is I place jahia webapp in
>> > /path/to/jahia and have its context "docBase" set to `jahia' (appBase
>> > is /path/to obviously). So again, I don't run jahia.sh but rather try
>> > to load jahia webapp when Tomcat starts in server.xml. For some
>> > reason, when I point my browser to
>> > http://myhost.com/jahia/html/startup/startjahia.html, it will dump me
>> > to http://myhost.com/jahia/ rather than http://myhost.com/jahia/Jahia.
>> > Obviously the context path is right because I can load html files from
>> > jahia (i.e. as mentioned http://myhost.com/jahia/html/startup/*.html)
>> > but the servlets/JSPs spews that Spring exception trying to load some
>> > .xml file which I can't figure what. I'm at total lost and this
>> > mailing list doesn't get updated often which leaves me to wonder about
>> > the support system behind Jahia. Any ideas would be greatly
>> > appreciated because I am really inclined to give Jahia a shot as I
>> > have narrowed down my Java-based CMS to 4 CMS' including Jahia.
>> >
>> >
>> > On 8/6/06, Evan J <[email protected]> wrote:
>> >> Hi,
>> >>
>> >> So I survived the installation but now I'm getting the following 
>> stack
>> >> trace after I shutdown/restart Jahia (or Tomcat in that matter). I'm
>> >> running Jahia 5.0 Community Edition in Tomcat 5.5.16 container and 
>> JDK
>> >> 1.5.0_06. And from what I've checked, I do have Spring libraries in
>> >> jahia/WEB-INF/lib/{spring.libs}.jar.
>> >>
>> >> HTTP Status 500 -
>> >>
>> >> type Exception report
>> >>
>> >> message
>> >>
>> >> description The server encountered an internal error () that 
>> prevented
>> >> it from fulfilling this request.
>> >>
>> >> exception
>> >>
>> >> javax.servlet.ServletException: Servlet.init() for servlet Jahia
>> >> threw exception
>> >>
>> >> 
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
>>
>> >>
>> >>
>> >> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>> >>
>> >> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>> >>
>> >> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
>> >>
>> >> 
>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684) 
>>
>> >>
>> >>
>> >> 
>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876) 
>>
>> >>
>> >>
>> >> 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
>>
>> >>
>> >>         java.lang.Thread.run(Thread.java:595)
>> >>
>> >> root cause
>> >>
>> >> org.springframework.context.ApplicationContextException: I/O error
>> >> parsing XML document for application context
>> >> 
>> [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=472206]; 
>>
>> >>
>> >> nested exception is java.io.FileNotFoundException: class path 
>> resource
>> >> [spring] cannot be resolved to URL because it does not exist
>> >>
>> >> 
>> org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:94) 
>>
>> >>
>> >>
>> >> 
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:262) 
>>
>> >>
>> >>
>> >> 
>> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:111) 
>>
>> >>
>> >>
>> >> 
>> org.jahia.hibernate.manager.SpringContextSingleton.init(SpringContextSingleton.java:77) 
>>
>> >>
>> >>         org.jahia.bin.Jahia.init(Jahia.java:437)
>> >>
>> >> 
>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) 
>>
>> >>
>> >>
>> >> 
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
>>
>> >>
>> >>
>> >> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>> >>
>> >> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>> >>
>> >> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
>> >>
>> >> 
>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684) 
>>
>> >>
>> >>
>> >> 
>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876) 
>>
>> >>
>> >>
>> >> 
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
>>
>> >>
>> >>         java.lang.Thread.run(Thread.java:595)
>> >>
>> >
>>
>>
>