Tag: c3p0

如何为具有多个数据源的grails 2.X应用程序配置c3p0?

我正在尝试找到一个易于理解的解决方案(可能是这个问题的答案),用于在具有多个数据源的grails 2.X Web应用程序上配置c3p0连接池。 我一直无法通过谷歌搜索找到任何明确和简单的帮助。 我正在寻找的答案将说明以下内容: 1)需要什么jar子 2)需要修改哪些grails文件 3)放入这些grails文件的内容示例,包括import语句和示例代码。 假设我的应用程序中有两个数据源,DataSource和DataSource_A在DataSource.groovy中配置。 如何在grails 2.X Web应用程序中为多个数据源配置c3p0连接池?

Hibernate DB连接pooler c3p0有问题

自上一篇文章以来,所做的所有修改都有所建议,但这个问题仍然困扰着我。 这是我得到的错误: Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 44,499,102 milliseconds ago. 这是我的hibernate.cfg.xml org.hibernate.connection.C3P0ConnectionProvider com.mysql.jdbc.Driver true true true 5 150 0 10 100 30 jdbc:mysql://!secret!autoReconnect=true !secret! !secret! <!– 10 –> true org.hibernate.dialect.MySQLDialect update thread 和c3p0.properties c3p0.preferredTestQuery=select 1 from dual c3p0.maxConnectionAge=3600 c3p0.testConnectionOnCheckin=true c3p0.testConnectionOnCheckout=true c3p0.acquireRetryDelay=1000 c3p0.acquireRetryAttempts=30 c3p0.breakAfterAcquireFailure=false c3p0.idleConnectionTestPeriod=100

使用c3p0.idle_test_period。

我是c3op的新手,对以下内容的使用感到困惑: c3p0.idle_test_period 在此链接中:如何配置C3P0连接池 idleTestPeriod : Must be set in hibernate.cfg.xml (or hibernate.properties), Hibernate default: 0, If this is a number greater than 0, c3p0 will test all idle, pooled but unchecked-out connections, every this number of seconds. 这种测试的目的是什么(idel,池连接),以及c3p0.idle_test_period和c3p0.timeout之间的关系?

Java数据库连接池(BoneCP vs DBPool vs c3p0)

对于J2EE容器之外的Java应用程序,哪个连接池库最好? 我听说c3p0已经过时了。 雅加达的公共池库已不再开发 因此我留下了BoneCP和DBPool 。 据我所知,两者的活动都有限。 我可以看到的主要区别是性能,BoneCP似乎赢得了。 但是文档相当薄弱。 您在现实世界中使用了哪个数据库池库?为什么? 有什么好处和坏处?

如何防止Hibernate + c3p0 + MySql创建大量睡眠连接?

我正在使用GWT与Hibernate,c3p0和MySQL来制作一个受众有限的网络应用程序(每天最多50个用户)。 在测试期间,我发现Hibernate正在打开与每个会话的连接但不关闭它,无论使用close()方法。 我目前的配置如下: hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.url= hibernate.connection.username= hibernate.connection.password= hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.current_session_context_class=thread hibernate.c3p0.min_size=1 hibernate.c3p0.max_size=1 hibernate.c3p0.timeout=10 hibernate.c3p0.max_statements=50 hibernate.c3p0.idle_test_period=10 hibernate.c3p0.unreturned_connection_timeout=1 hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider 每次与应用程序的新连接都会创建一个新池。 例如,如果我将池大小设置为3,则应用程序的2个连接将导致6个连接,直到应用程序关闭为止。 预期的行为是在每次事务之后简单地关闭或重用连接。 我怎样才能做到这一点?

Hibernate / MySQL连接超时

我写了一个服务器端应用程序,为网站和多个移动客户端提供支持。 我使用Hibernate进行数据访问。 我后来发现应用程序在一天后失败了! 当我在网上查看时,我发现它是一个众所周知的问题,MySQL在8小时后终止了“陈旧”的连接。 为了避免这种情况,我发现了许多建议,比如包括?autoReconnect=true ,使用c3P0等。由于autoReconnect正式c3P0 (特别是在生产环境中),并且因为它在我应用时没有任何效果,我决定去c3p0 。 不幸的是,在我的hibernate.cfg.xml文件中引入了c3p0配置之后,应用程序开始在我的代码中的某个地方抛出一个NullPointerException ,我调用了dbSession.close()这意味着HibernateUtil.getSessionFactory()实际上返回null 。 我添加了必需的jar(c3p0-0.9.2-pre2.jar,hibernate-core-3.3.1.GA.jar,hibernate-c3p0-3.3.2.GA.jar,mchange-commons-java-0.2.1 .jar和c3p0-oracle-thin-extras-0.9.2-pre2.jar)即使我不认为它们都是必需的。 我已经浏览了许多讨论这个问题的网页,但我仍然无法正确设置它。 请帮助我使用“初学者友好”易于实现的逐步程序来设置c3p0与Hibernate。 我在JDK 1.6,MySQL 5.5上使用Hibernate 3.3.6,我在Netbeans 7.0中开发。 这是我的hibernate.cfg.xml org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/religion_app ***** ***** true thread org.hibernate.hql.classic.ClassicQueryTranslatorFactory org.hibernate.connection.C3P0ConnectionProvider true true true 1 120 100 0 10 180 select 1; 这是我添加c3p0(没有slf4j)后得到的: May 23, 2012 2:42:14 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet LoginChurch threw […]

如何在Hibernate 4.3.4.Final中配置和获取会话?

我最近将我的Hibernate版本升级到4.3.4.Final。 基于Hibernate的Contextual Sessions配置,这个新版本不再基于ThreadLocal。 如果我到目前为止所做的是正确的,我是否需要做任何事情来提高效率? 如果不正确我该怎么办? 我没有线索。 请注意 ,文档中提到:Hibernate提供了三种当前会话跟踪方法。 基于“线程”的方法不适用于生产用途; 它仅适用于原型设计和教程,例如本教程。 的hibernate.cfg.xml com.mysql.jdbc.Driver jdbc:mysql://localhost/myDB root org.hibernate.dialect.MySQLDialect thread org.hibernate.cache.NoCacheProvider true 5 20 300 50 3000 <!– update–> … 当前配置和代码 基于答案吹响和这部分文档 mu当前配置如下: public class HibernateUtil { private static SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { Configuration configuration = new Configuration(); return configuration.configure() .buildSessionFactory( new […]

c3p0在hwaitnate的awaitAvailable中挂起

我有控制台应用程序在执行期间挂起。 这是我的配置: cfg.setProperty(“hibernate.connection.driver_class”, “com.mysql.jdbc.Driver”); cfg.setProperty(“hibernate.connection.url”, “jdbc:mysql://localhost:3306/db?user=db&password=db”); cfg.setProperty(“hibernate.connection.username”, “db”); cfg.setProperty(“hibernate.connection.password”, “db”); cfg.setProperty(“hibernate.connection.pool_size”, “5”); cfg.setProperty(“hibernate.connection.autocommit”, “false”); cfg.setProperty(“hibernate.c3p0.min_size”, “5”); cfg.setProperty(“hibernate.c3p0.max_size”, “20”); cfg.setProperty(“hibernate.c3p0.timeout”, “300”); cfg.setProperty(“hibernate.c3p0.max_statements”, “50”); cfg.setProperty(“hibernate.c3p0.idle_test_period”, “3000”); 这是我的堆栈跟踪: “main” prio=10 tid=0x000000000168f800 nid=0x1c37 in Object.wait() [0x00007fa60d0ad000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) – waiting on (a com.mchange.v2.resourcepool.BasicResourcePool) at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315) at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557) – locked (a com.mchange.v2.resourcepool.BasicResourcePool) at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477) […]

线程全部为空时C3P0明显死锁?

我在Tomcat中使用C3P0作为连接池,我看到非常令人担忧的错误: 2010-09-16 13:25:00,160 [Timer-0] WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner – com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@43502400 — APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! 2010-09-16 13:25:01,407 [Timer-0] WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner – com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@43502400 — APPARENT DEADLOCK!!! Complete Status: Managed Threads: 10 Active Threads: 0 Active Tasks: Pending Tasks: com.mchange.v2.resourcepool.BasicResourcePool$1RefurbishCheckinResourceTask@6e4151a7 Pool thread stack traces: Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#6,5,main] java.lang.Object.wait(Native Method) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main] java.lang.Object.wait(Native Method) com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534) Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main] java.lang.Object.wait(Native […]

使用C3P0的JDBC连接池

以下是我的帮助程序类来获取数据库连接: 我已经使用了如此处所述的C3P0连接池。 public class DBConnection { private static DataSource dataSource; private static final String DRIVER_NAME; private static final String URL; private static final String UNAME; private static final String PWD; static { final ResourceBundle config = ResourceBundle .getBundle(“props.database”); DRIVER_NAME = config.getString(“driverName”); URL = config.getString(“url”); UNAME = config.getString(“uname”); PWD = config.getString(“pwd”); dataSource = setupDataSource(); } public […]