Bonjour à tous,
Je maintient une application java j2ee-oracle, avec apache et tomcat 4.1.29.
Mon application migre sous 9i. J'ai suivi les différentes étapes de migration:
1) Modification de la propriété hibernate.dialect à Oracle9Dialect
2) Modification du lien vers la nouvelle source de données 9i
3) Modification de la librairie : de classes12.zip 8i à soit classes12.jar 9i soit ojdbc14.jar.
4) Les scripts d'arrêt relance de tomcat pour y inclure la nouvelle librairie dans le CLASSPATH
Hibernate version: J'utilise hibernate2.jar
Mapping documents: N/A
Code between sessionFactory.openSession() and session.close():
Code de création de la sessionfactory : Classe HibernateUtil.java
static {
try {
String configFile = ApplicationUtil.getProperty(ApplicationConstant.KEY_HIB_CONF_FILE);
sessionFactory = new Configuration().configure(configFile).buildSessionFactory();
} catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
log.error("Initial SessionFactory creation failed.", ex);
throw new ExceptionInInitializerError(ex);
}
}
(relativement standard)
Extrait de hibernate.cfg.xml :
Code:
<session-factory name="ecm">
<property name="connection.datasource">java:comp/env/jdbc/myoracle</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="show_sql">false</property>
<!-- Uncomment for runtime -->
<!-- Comment for build -->
<mapping resource="app.hbm.xml"/>
</session-factory>
Full stack trace of any exception that occurs:Exception applicative :
javax.servlet.ServletException: L''exécution de la servlet a lancé une exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
....
cause mère (root cause)
java.lang.ExceptionInInitializerError
at com.snecma.ecom.ecm.orm.HibernateUtil.(HibernateUtil.java:26)
at com.snecma.ecom.ecm.app.Reference.initEngineList(Reference.java:61)
at com.snecma.ecom.ecm.app.Reference.initSearchCriteria(Reference.java:48)
at com.snecma.ecom.ecm.app.GenericAction.execute(GenericAction.java:80)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
Name and version of the database you are using: Oracle9i
tomcat erreur log :[ERROR] 01 déc. 2006, 11:14:15,538 (HibernateUtil.java:<clinit>:25) Initial SessionFactory creation failed.
java.lang.NullPointerException
at org.apache.commons.dbcp.DelegatingConnection.close(DelegatingConnection.java:195)
at org.apache.commons.dbcp.PoolableConnection.reallyClose(PoolableConnection.java:129)
at org.apache.commons.dbcp.PoolableConnectionFactory.destroyObject(PoolableConnectionFactory.java:311)
at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:842)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:821)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:518)
at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1823)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1143)
at com.snecma.ecom.ecm.orm.HibernateUtil.<clinit>(HibernateUtil.java:22)
at com.snecma.ecom.ecm.app.Reference.initEngineList(Reference.java:61)
at com.snecma.ecom.ecm.app.Reference.initSearchCriteria(Reference.java:48)
at com.snecma.ecom.ecm.app.GenericAction.execute(GenericAction.java:80)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:534)
A noterAvec toutes les modifications de connexion sauf la librairie, je garde donc la librairie oracle 8i, je n'ai pas d'erreur. Dès que je la remplace par une des librairies 9i, j'obtient cette erreur
Any suggestions ?
Merci d'avance[/code]