Hibernate - почему возникает ExceptionInInitializerError ?
От: wagtail  
Дата: 24.09.04 10:35
Оценка:
Скачал hibernate, установил под томкатом как описано у них в доке, сделал пробный сервлет почти один-в-один их пример с кошками (только поля другие и база — firebird), пытаюсь запустить — получаю такой вот эксепшн:

----------------
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.ExceptionInInitializerError
tma.test.HibernateUtil.<clinit>(HibernateUtil.java:26)
tma.test.Tester.doGet(Tester.java:27)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.
----------------

В чем дело, подскажите плз... ( Или где копать хотя бы?
Re: Hibernate - почему возникает ExceptionInInitializerError
От: Blazkowicz Россия  
Дата: 24.09.04 10:37
Оценка:
Здравствуйте, wagtail, Вы писали:

W>java.lang.ExceptionInInitializerError

W>tma.test.HibernateUtil.<clinit>(HibernateUtil.java:26)
W>tma.test.Tester.doGet(Tester.java:27)
W>javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
W>javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

W>note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.


А там что? Есть более полный трейс в логах?
Re: Hibernate - почему возникает ExceptionInInitializerError
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 24.09.04 10:38
Оценка:
Здравствуйте, wagtail, Вы писали:


W>В чем дело, подскажите плз... ( Или где копать хотя бы?


tma.test.HibernateUtil в студию!
ICQ #333355130
Re: Hibernate - почему возникает ExceptionInInitializerError
От: Blazkowicz Россия  
Дата: 24.09.04 10:39
Оценка:
Здравствуйте, wagtail, Вы писали:


W>java.lang.ExceptionInInitializerError

W>tma.test.HibernateUtil.<clinit>(HibernateUtil.java:26)
W>tma.test.Tester.doGet(Tester.java:27)
W>javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
W>javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

Скорее всего у тебя в HibernateUtil есть статическое поле. Которое инициализируется сразу в объявлении типа

pulic static field singleton = new SomeClass();



А в конструкторе SomeClass происходит исключение.
Re[2]: Hibernate - почему возникает ExceptionInInitializerEr
От: wagtail  
Дата: 24.09.04 11:30
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>А там что? Есть более полный трейс в логах?


2004-09-24 16:25:01 StandardWrapperValve[Tester]: Servlet.service() for servlet Tester threw exception java.lang.ExceptionInInitializerError at tma.test.HibernateUtil.<clinit>(HibernateUtil.java:26) at tma.test.Tester.doGet(Tester.java:27) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:793) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:702) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:571) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644) at java.lang.Thread.run(Unknown Source) Caused by: net.sf.hibernate.HibernateException: Could not find datasource at net.sf.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:48) at net.sf.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:83) at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:65) at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1155) at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:789) at tma.test.HibernateUtil.<clinit>(HibernateUtil.java:23) ... 27 more Caused by: javax.naming.NameNotFoundException: Name phones is not bound in this Context at org.apache.naming.NamingContext.lookup(NamingContext.java:768) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:138) at org.apache.naming.NamingContext.lookup(NamingContext.java:779) at org.apache.naming.NamingContext.lookup(NamingContext.java:151) at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136) at javax.naming.InitialContext.lookup(Unknown Source) at net.sf.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:44)



Я так понимаю (или я не прав?), что дело в том, что hibernate не видит мой datasource. Но вот почему — ума не приложу! Я вообще чайник еще вв этом деле, но вроде все задал правильно:

hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.datasource">java:comp/env/phones</property> <property name="show_sql">false</property> <property name="dialect">net.sf.hibernate.dialect.FirebirdDialect</property> <!-- Mapping files --> <mapping resource="Phone.hbm.xml"/> </session-factory> </hibernate-configuration>



server.xml:

<Resource name="phones" scope="Shareable" type="javax.sql.DataSource"/> <ResourceParams name="phones"> <parameter> <name>validationQuery</name> <value>select * from rbd$database</value> </parameter> <parameter> <name>maxWait</name> <value>5000</value> </parameter> <parameter> <name>maxActive</name> <value>10</value> </parameter> <parameter> <name>password</name> <value>masterkey</value> </parameter> <parameter> <name>url</name> <value>jdbc:firebirdsql:localhost/3050:phones</value> </parameter> <parameter> <name>driverClassName</name> <value>org.firebirdsql.jdbc.FBDriver</value> </parameter> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <parameter> <name>username</name> <value>SYSDBA</value> </parameter> </ResourceParams>



Все похоже на их пример с кошками, но вот не работает почему-то.
Re[2]: Hibernate - почему возникает ExceptionInInitializerEr
От: wagtail  
Дата: 24.09.04 11:31
Оценка:
Здравствуйте, Lucker, Вы писали:

L>tma.test.HibernateUtil в студию!


Их стандартный, из примера с кошками. Ничего не менял
Re[3]: Hibernate - почему возникает ExceptionInInitializerEr
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 24.09.04 11:45
Оценка: +1
Здравствуйте, wagtail, Вы писали:

W>Здравствуйте, Blazkowicz, Вы писали:


W>Я так понимаю (или я не прав?), что дело в том, что hibernate не видит мой datasource. Но вот почему — ума не приложу! Я вообще чайник еще вв этом деле, но вроде все задал правильно:


не видит. А в web.xml не прописывал

<resource-ref> <description>DB Connection</description> <res-ref-name>phones</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

ICQ #333355130
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.