知识大全 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对象讲述与谈论 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 能通过本地
JNDIConnection池化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JNDI(Jav
关于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是对JDBC的轻量级封装因此在很多情况下Hibernate的性能比直接使用JDBC存取数据库要低然而通过正确的方法和策略在使用Hibernate的时候还是可以非常接近直接使用JD
Hibernate简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate是一个开
Hibernate宏观内容 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Hibernate执行