知识大全 Hibernate 使用外部 Connection 的问题

Posted

篇首语:常勤精进,譬如水长流,则能穿石。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Hibernate 使用外部 Connection 的问题相关的知识,希望对你有一定的参考价值。

Hibernate 使用外部 Connection 的问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  最近在一个项目中试用了 Hibernate 因为项目分两部分来做 在另一个部分中 已经使用了一个连接池(自行开发的) 现在两部分要合在一起 于是便出现了如下问题   开始 我们决定使用Hibernate的外部连接方法进行数据访问:     java代码:        public static DbSession openSession()       DbSession dbSession = null;      try        //System out println( session is start );       ConnectionPool connectionPool = PooledConnectionFactory getConnectionPool();       Connection con = connectionPool getConnection();          Session s = (Session) session get();       if (s == null)         s = fact openSession(con);//在此 使用外部连接池所给的连接        session set(s);                 dbSession = new DbSession(s);       catch (Throwable t)        String msg = couldn t open a hibernate session for SessionFactory  + ;       log error( msg t );       throw new DbException( msg + : + t getMessage() );            return dbSession;             关闭Session方法如下:   java代码:         public static void closeSession() throws HibernateException Exception         Session s = (Session) session get();        session set(null);        if (s != null)           nnection() close();          s close();          System out println( session closing );          //s = null;                        问题出现了 在我们很慢点击的访问下还好 只要稍刷的快些 便会出现 Can t excute Query 的错误 大概时在执行某一查询时 Session中的Connection为close 或 session 为空 很奇怪 也许是这种方法在快速并发访问时 会出现这个问题 其实在Session close()的时候 Session是不会为空的 所以在此有些不理解 怎么会取到已经关闭的连接呢 不知道大家有没有遇到过      现在 我们有两种解决办法   一是 将前一部分的连接池注册为DataSource 这样由Hibernate调用   二是 将前一部分的连接池改为Hibernate所带的DBCP等   这两种方法都不难更改   不过 只是不理解上述的BUG 所以和大家讨论一下 也希望 Robbin 能看到 解释一下 cha138/Article/program/Java/ky/201311/28862

相关参考

知识大全 对于Connection 对象讲述与谈论

对于Connection对象讲述与谈论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  能通过本地

知识大全 JNDI Connection 池化

JNDIConnection池化  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JNDI(Jav

知识大全 如何存贮connection string

  关于connectionstring应该存放在哪里有许多不同的方法每个都有自己的使用场合根据MSDN和我以前编程的经验总结/摘录了一篇文章希望对大家有所帮助   在程序中要存储conne

知识大全 数据库连接池Data Connection Framework

数据库连接池DataConnectionFramework  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 nginx报错 readv() failed (104: Connection res

nginx报错readv()failed(104:Connectionres  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让

知识大全 求助求助 Failed to connect to server Connection timed out

求助求助FailedtoconnecttoserverConnectiontimedout  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发

知识大全 Hibernate3.1与Hibernate3.2

Hibernate3.1与Hibernate3.2  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 hibernate的性能优化

  Hibernate是对JDBC的轻量级封装因此在很多情况下Hibernate的性能比直接使用JDBC存取数据库要低然而通过正确的方法和策略在使用Hibernate的时候还是可以非常接近直接使用JD

知识大全 Hibernate简介

Hibernate简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate是一个开

知识大全 Hibernate宏观内容

Hibernate宏观内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hibernate执行