问题标签 [bonecp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12463 浏览

java - Java 连接池最佳实践?

在厌倦了 c3p0 的持续锁定后,我转向 BoneCP 为我的数据库寻找替代连接池。我有一个服务器应用程序,每分钟处理大约 7,000 个项目,并且需要将这些项目记录到我们的 MySQL 数据库中。我目前有 100 个工作线程,并且像这样设置了我的池:

对于此类应用程序,这些设置是否可接受?我之所以问,是因为在运行一两分钟后,我在尝试调用getConnection池时遇到了 BoneCP 异常。谢谢您的帮助。

这是我在工作线程中用于 db 调用的代码,它不会dbConn = this.dbPool.getConnection()在线失败。我没有正确关闭连接吗?

这是我看到的错误:

0 投票
2 回答
3506 浏览

jdbc - 当连接返回池时,BoneCP(或任何其他池)是否会关闭连接的语句?

当连接返回池时,BoneCP(或任何其他池)是否会关闭连接的语句?据我了解,它不调用实际连接的关闭方法,因此没有自动关闭语句。那么,它是以任何其他方式关闭语句还是我需要手动关闭它们?

0 投票
1 回答
2010 浏览

java - 如何在 OpenJPA 2.0.1 中禁用缓存(编辑:BoneCP 问题)

我无法在 OpenJPA 2.0.1 中禁用缓存。

我在我的persistence.xml中设置了以下属性:

当我启动我的应用程序时,我可以看到这些属性的正确值已被注销。

我创建了一个基本实体来测试它,主要方法是每秒简单地查询一次表。我在每次迭代中创建一个新的 EntityManager。当我对一个空的 TEST 表运行它,然后手动将数据插入到测试中时:

它永远不会获取新数据(尽管如果我重新启动它会执行的程序)。

我究竟做错了什么?

EDIT1:如果我在 while 循环中创建一个新的 EntityManagerFactory 它可以工作,但我的理解是,因为我已将 DataCache 和 QueryCache 设置为 false 我不需要这样做,而且这样做很昂贵。

EDIT2:我使用BoneCP作为我的连接池管理器,当我恢复使用 DHCP 或 C3P0 时,问题就消失了。虽然不知道为什么...

EDIT3:这是我用于 BoneCP 的配置:

0 投票
4 回答
20444 浏览

jdbc - 2011/2012年Java JDBC连接池库选择?

我应该将哪个 JDBC 连接池库用于新的应用程序项目(不是 Web 应用程序)?

我应该选择BoneCP可能吗?我没有太大的要求。我只需要一个良好且易于使用的数据库连接池,它正在积极开发中。图书馆,其作者可以回复错误报告,回答一些特定问题等。

顺便说一句,实际上,我只使用 MySQL。我发现 MySQL 驱动程序支持 DriverManager接口,但我不确定它是否真的池连接。

0 投票
1 回答
1263 浏览

datasource - Spring TransactionManager 与 BoneCP 连接池的集成

我正在使用 BoneCP 连接池机制,并且我想使用 Spring 框架的支持来管理我的事务。我找到了一个关于Spring Transaction Management的示例,并尝试应用此示例。我从我的连接池中获得了一个 DataSource 实例,并将这个数据源提供给创建的 DataSourceTransactionManager,如下所示。

但是当我测试它时,我看到事务管理器在提交操作之前已经将数据写入存储。

是否与创建事务管理器之前创建新数据源有关?或者你有什么想法吗?

0 投票
1 回答
2786 浏览

java - Oracle JDBC 驱动程序语句缓存与 BoneCP 语句缓存?

我正在使用 Oracle JDBC 驱动程序并评估 BoneCP。两者都实现了语句缓存。

我在问自己是否应该将其中一个用于语句缓存。你怎么看?每种方式的优点或缺点是什么?

0 投票
1 回答
3351 浏览

jdbc - c3p0 或 dbcp 或 BoneCP 可以处理断开的连接

我正在阅读有关处理 jdbc 连接的 c3p0 和 dbcp 并听到很多问题,人们说 dbcp 已死,但 c3p0 不能执行 jdbc4 等等。但我不知道这些帖子是否已过时。

现在我点击了 BoneCP,它解释了如何在此处处理断开的连接。连接被包装,并且 BoneCP 在异常传递给应用程序之前对其进行一些预检查。如果连接出现问题,BoneCP 会将其从池中删除。

1.) 所有这些池都有这种连接处理吗?

2.)这个问题被一遍又一遍地问到,但我找不到 2011 年的任何答案。我应该为新应用程序使用什么,这将在未来 10 年(如果不是更多的话)中保持。

0 投票
1 回答
2444 浏览

java - 使用 BoneCP:处理来自池的连接

我刚刚开始使用 BoneCP,这是我第一次使用连接池。我对我应该如何使用它感到有些困惑。目前我将 BoneCP 对象保存为静态变量,因此我可以在不同的连接之间使用它。

当我完成连接后,我用connection.close().
我应该这样做,还是不应该关闭它以使其能够被池重用?

这是我当前获取连接的实现:

这看起来是正确的还是我误解了我应该如何使用 BoneCP?

0 投票
1 回答
1427 浏览

spring - 使用 Spring TransactionTemplate 取消当前事务

我正在使用连接池和 Spring TransactionTemplate。如果要关闭连接池,首先必须将所有连接返回到池中,这意味着connection.close()必须调用。我有一个线程使用TransactionTemplate一些查询和另一个线程想要在连接池上调用一些关闭方法,但在这样做之前它首先必须告诉TransactionTemplate关闭所有连接(实际上只是将它们返回到池中)。

在 Spring 中如何做到这一点以立即在使用的连接上调用 close?

0 投票
1 回答
2163 浏览

java - BoneCP:getConnection 方法是线程安全的还是我们必须处理?

在使用 BoneCP 连接池时,我遇到了以下困惑,想听听一些建议:

  • BoneCP的getConnection方法是线程安全的吗?当有许多线程要求并行连接时,使用它的最佳方法是什么?
  • connection.close()每次使用连接后都需要调用吗?
  • 如果需要调用connection.close(),它真的会断开与数据库的连接还是只是将连接发送到池?

提前感谢您的支持。