论坛首页 Java企业应用论坛

项目发布到服务器上的问题,本地测试功过。

浏览 25019 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-01-25  
sessionfactory 配置如下:

package connection;

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

public class HibConnection {
//    private static Logger logger=null;
    /**
     * Location of hibernate.cfg.xml file.
     * NOTICE: Location should be on the classpath as Hibernate uses
     * #resourceAsStream style lookup for its configuration file. That
     * is place the config file in a Java package - the default location
     * is the default Java package.<br><br>
     * Examples: <br>
     * <code>CONFIG_FILE_LOCATION = "/hibernate.conf.xml".
     * CONFIG_FILE_LOCATION = "/com/foo/bar/myhiberstuff.conf.xml".</code>
     */
    private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";

    /** Holds a single instance of Session */
    private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();

    /** The single instance of hibernate configuration */
    private static final Configuration cfg = new Configuration();

    /** The single instance of hibernate SessionFactory */
    private static org.hibernate.SessionFactory sessionFactory;

    /**
     * Returns the ThreadLocal Session instance.  Lazy initialize
     * the <code>SessionFactory</code> if needed.
     *
     *  @return Session
     *  @throws HibernateException
     */
    public static Session currentSession() throws HibernateException {
        Session session = (Session) threadLocal.get();

//        System.out.println("sssssss");
        if (session == null) {
            if (sessionFactory == null) {
                try {
//                    System.out.println("sssssss1");
                    cfg.configure(CONFIG_FILE_LOCATION);
//                    System.out.println("sssssss2");
                    sessionFactory = cfg.buildSessionFactory();
                }
                catch (Exception e) {
                    System.err.println("%%%% Error Creating SessionFactory %%%%");
                    e.getMessage();
                    e.printStackTrace();
                }
            }
            session = sessionFactory.openSession();
            threadLocal.set(session);
        }

        return session;
    }

    /**
     *  Close the single hibernate session instance.
     *
     *  @throws HibernateException
     */
    public static void closeSession() throws HibernateException {
        Session session = (Session) threadLocal.get();
        threadLocal.set(null);

        if (session != null) {
            session.close();
        }
    }

    /**
     * Default constructor.
     */
    private HibConnection() {
    }

}
0 请登录后投票
   发表时间:2007-01-25  
抛出异常的爱 写道
找份好用的对一对
我用过的c3po都是放在另一个文件中的
看着清楚你也可以试试


能发一份过来看看吗?

sessionfactory代码我已经贴出。
0 请登录后投票
   发表时间:2007-01-25  
<!-- connection pool-->
<!-- <property name="connection.pool_size">10</property>-->

MS没设池的最大连接数
0 请登录后投票
   发表时间:2007-01-25  
抛出异常的爱 写道
<!-- connection pool-->
<!-- <property name="connection.pool_size">10</property>-->

MS没设池的最大连接数

怎么这个有问题吗?我注释掉了,感觉是hibernate 连接池 与 tomcat连接池的问题。不知道如何解决?
但是我在本地测试的时候的配置也是这样。难道是这个问题吗?需要配置,还是不要配置呢〉
0 请登录后投票
   发表时间:2007-01-25  
从错误看,应该和具体配置项的内容没有关系。
是XML文档本身格式有问题。
你可以用相关的Validater验证一下
0 请登录后投票
   发表时间:2007-01-25  
页面报出的错误如下:
java.lang.NullPointerException
connection.HibConnection.currentSession(HibConnection.java:56)
bean.ProductBean.getProductListByMainType(ProductBean.java:1207)
blog.bean.IndexBean.<init>(IndexBean.java:48)
blog.servlet.BlogIndexServlet.doGet(BlogIndexServlet.java:34)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
0 请登录后投票
   发表时间:2007-01-25  
配置hibernate.properties时指定连接池就好,不过记得加上相应的jar.

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/ADD
hibernate.connection.username=ADDRESSBOOK
hibernate.connection.password=6696397
hibernate.show_sql=true
hibernate.c3p0.max_size=2
hibernate.c3p0.min_size=2
hibernate.c3p0.timeout=5000
hibernate.c3p0.max_statements=100
hibernate.c3p0.idle_test_period=3000
hibernate.c3p0.acquire_increment=2
hibernate.c3p0.validate=false


我记的不是配在hibernate里么。。。
配在里面太乱了。
山里有鬼 写道
从错误看,应该和具体配置项的内容没有关系。
是XML文档本身格式有问题。
你可以用相关的Validater验证一下


你的机器自动生成了一个hibernate.cnf.xml(1)
并且里面没有内容所以会出这个错误。

0 请登录后投票
   发表时间:2007-01-25  
山里有鬼 写道
从错误看,应该和具体配置项的内容没有关系。
是XML文档本身格式有问题。
你可以用相关的Validater验证一下

谢谢您的回复:
我是用myeclipse5.0GA 本身自带的验证没有出错。阿?
这个我本地为什么可以 出来呢?
0 请登录后投票
   发表时间:2007-01-25  
java_zhanghui 写道

log4 日志如下:
[INFO ] 2007-01-25 09:55:22,062 method:org.hibernate.cfg.Environment.<clinit>(Environment.java:479)
Hibernate 3.1.3
[INFO ] 2007-01-25 09:55:22,093 method:org.hibernate.cfg.Environment.<clinit>(Environment.java:509)
hibernate.properties not found


对hibernate不熟悉,不过根据你的日志可以分析,Environment类初始化的时候找不到hibernate.properties文件。 你自己看看是不是因为这个错误引起的。
0 请登录后投票
   发表时间:2007-01-25  
抛出异常的爱 写道
配置hibernate.properties时指定连接池就好,不过记得加上相应的jar.

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/ADD
hibernate.connection.username=ADDRESSBOOK
hibernate.connection.password=6696397
hibernate.show_sql=true
hibernate.c3p0.max_size=2
hibernate.c3p0.min_size=2
hibernate.c3p0.timeout=5000
hibernate.c3p0.max_statements=100
hibernate.c3p0.idle_test_period=3000
hibernate.c3p0.acquire_increment=2
hibernate.c3p0.validate=false


我记的不是配在hibernate里么。。。
配在里面太乱了。
山里有鬼 写道
从错误看,应该和具体配置项的内容没有关系。
是XML文档本身格式有问题。
你可以用相关的Validater验证一下


你的机器自动生成了一个hibernate.cnf.xml(1)
并且里面没有内容所以会出这个错误。


就这样配置一下就可以了吗?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics