-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 
Author Message
 Post subject: SessionFactory ist null
PostPosted: Mon Oct 27, 2008 6:38 am 
Beginner
Beginner

Joined: Sat Oct 18, 2008 10:25 am
Posts: 30
Hallo alle zusammen,

ich habe in meiner Web-Anwendung Hibernate benutzt. Vor einer Woche bin ich in Urlaub gefahren und vorher ist die Anwendung gelaufen. Da bin ich mir 100%ig sicher. Als ich zurückkam, ging nichts mehr.

Die SessionFactory in meinem HibernateUtil ist null. Und ich weiß nicht warum. Welche Ursachen kann das haben?

Hier mein HibernateUtil.java:

Code:
package de.waldhausweg7.utils;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
   private static HibernateUtil _instance = new HibernateUtil();
   private SessionFactory _sessionFactory;
   
    public static SessionFactory getSessionFactory() {
        return _instance._sessionFactory;
       //return null;
    }

   public static void closeSession(Session session) {
      try {
         if ((session != null) && (session.isOpen())) {
            session.close();
         }
      }
      catch (HibernateException he) {
      }
   }

   public static Session openSession() throws HibernateException {
      // Der Fehler tritt hier auf.
      return openSession(getSessionFactory());
   }

   public static Session openSession(SessionFactory sessionFactory)
      throws HibernateException {

      return _instance._sessionFactory.getCurrentSession();
   }

   private HibernateUtil() {
        try {
           System.out.println("SessionFactory0");
         //_sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
         System.out.println("SessionFactory");
           Configuration configuration = new Configuration();
           _sessionFactory = configuration.configure().buildSessionFactory();
        }
      catch (Exception e) {
        }
   }
}



Und hier meine Hibernate.cfg.xml:

Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
      <!-- MySQL -->

      <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
      <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
      <property name="hibernate.connection.url">jdbc:mysql://localhost/esg</property>
      <property name="hibernate.connection.username">root</property>
      <property name="hibernate.connection.password">asdf</property>

      <property name="current_session_context_class">thread</property>
      <property name="hibernate.show_sql">false</property>
      <property name="hibernate.formate_sql">false</property>


      <!-- Mappings --> 
      <mapping resource="de/waldhausweg7/model/Person.hbm.xml" />
      <mapping resource="de/waldhausweg7/model/City.hbm.xml" />
   </session-factory>
</hibernate-configuration>


Hat jemand eine Idee, woran es liegen könnte?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 27, 2008 8:24 am 
Newbie

Joined: Mon Oct 27, 2008 7:58 am
Posts: 3
Kannst du die Exception evtl mal Posten?
Erste kleine Anmerkung: Die an openSession() übergebene SessionFactory wird in der Methode gar nicht genutzt.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 27, 2008 12:01 pm 
Beginner
Beginner

Joined: Sat Oct 18, 2008 10:25 am
Posts: 30
Ich habe dieses HibernateUtil im Internet gefunden und es hat auch immer funktioniert.

Wie auch immer, hier die Exception:

java.lang.NullPointerException
de.waldhausweg7.utils.HibernateUtil.openSession(HibernateUtil.java:36)
de.waldhausweg7.utils.HibernateUtil.openSession(HibernateUtil.java:30)
de.waldhausweg7.service.PersonService.getPersonList(PersonService.java:146)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:99)
com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
javax.faces.component.UIData.getValue(UIData.java:547)
com.icesoft.faces.component.panelseries.UISeries.getDataModel(UISeries.java:310)
com.icesoft.faces.component.panelseries.UISeries.processCurrentRowData(UISeries.java:138)
com.icesoft.faces.component.panelseries.UISeries.setRowIndex(UISeries.java:130)
com.icesoft.faces.component.ext.renderkit.TableRenderer.renderFacet(TableRenderer.java:140)
com.icesoft.faces.renderkit.dom_html_basic.TableRenderer.encodeBegin(TableRenderer.java:115)
javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:703)
javax.faces.component.UIData.encodeBegin(UIData.java:701)
com.icesoft.faces.component.panelseries.UISeries.encodeBegin(UISeries.java:251)
javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:613)
javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:565)
com.icesoft.faces.component.DataTableTag.doEndTag(DataTableTag.java:732)
com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:237)
com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:220)
com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:220)
com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:220)
com.icesoft.faces.webapp.parser.Parser.executeJspLifecycle(Parser.java:220)
com.icesoft.faces.webapp.parser.Parser.parse(Parser.java:157)
com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:508)
com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:161)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:25)
com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:161)
com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:30)
com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:48)
com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63)
com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139)
com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53)
com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Oct 27, 2008 12:14 pm 
Beginner
Beginner

Joined: Sat Oct 18, 2008 10:25 am
Posts: 30
Ich habe mir eine neue HibernateUtil-Klasse geschrieben. Mit ihr funktioniert es wieder.

Code:
package de.waldhausweg7.utils;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

      private static final SessionFactory sessionFactory;

      static {
          try {
              // Create the SessionFactory from hibernate.cfg.xml
              sessionFactory = new Configuration().configure().buildSessionFactory();
          } catch (Throwable ex) {
              // Make sure you log the exception, as it might be swallowed
              System.err.println("Initial SessionFactory creation failed." + ex);
              throw new ExceptionInInitializerError(ex);
          }
      }

      public static SessionFactory getSessionFactory() {
          return sessionFactory;
      }

}



Top
 Profile  
 
 Post subject:
PostPosted: Wed Oct 29, 2008 4:03 am 
Newbie

Joined: Tue Oct 28, 2008 11:38 am
Posts: 4
Location: Mannheim, Germany
Ich habe ein ähnliches Problem und weiß etwa das Problem:

Der Webserver verwendet ein ConnectionPooling welches ein höheren Timout besitzt als die Datenbank für die eigentliche connection selbst.

Irgendwann hat dann die Datenbank die verbindung geschlossen und Hibernate versucht weiterhin mit der Connection aus dem ConnectionPool des Webservers eine Session aufzumachen, was aber nicht gelingt.

Hat jemand eine Idee, wie man die Connections im ConnectionPool erneuert, falls sie furch die DB timedout geworden sind?

Eingentlich sollte das ja funktionieren, tut es leider noch nicht..


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.