问题标签 [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 回答
453 浏览

cloudbees - Cloudbees 的基于 Spring 的应用程序中的 BoneCP 配置

我在基于 Spring 的应用程序中使用 BoneCP。

jdbcURL 有什么短值吗?

0 投票
1 回答
1098 浏览

spring - Jooq、Spring 和 BoneCP 连接关闭两次错误

我正在将 Spring 4.0.0 以及 jOOQ 3.2.0 和 BoneCP 0.8.0 用于 Web 应用程序。

我将 PersistenceContext 配置为与本指南相同(请略读阅读此处粘贴的代码过多)

http://www.petrikainulainen.net/programming/jooq/using-jooq-with-spring-configuration/

但最大连接数和 closeConnectionWatch = true 用于错误检查的数量较少。

据我所知,本指南是 jOOQ 网站自己的指南的非 XML 版本,请参见此处

http://www.jooq.org/doc/3.2/manual/getting-started/tutorials/jooq-with-spring/

我的问题可能来自于不知道如何使用 jOOQ 生成的 DAO 或 @Transactional 注释。我遇到了大量“连接关闭两次”异常,这使我的应用程序从根本上崩溃了。下面的堆栈跟踪实际上并没有说它被关闭了两次,但是 closeConnectionWatch 的输出说明了一些类似的内容

连接监视完成后的 SQL 异常堆栈跟踪:

我标出的那条线是服务中调用数据库的那条线。我在服务中有@Autowired DAO 对象,如下所示

我在类似服务中使用的其他函数包含使用 DSLContext 对象的调用,例如

DAO 和 DSLContext 像这样作为 bean 存储在 PersistenceContext 中。我将自动装配为 DSLContext 而不是 *Default*DSLContext,因为 jOOQ 指南底部有一个测试方法,仅显示 DSLContext。

这是控制器

UserService 不是我唯一遇到错误的服务——我所有的服务都相似,因为它们包含一个/两个 DAO 和一个 DSLContext Autowired 对象,具有与 usersDao() 相同的 DAO 配置构造函数,例如 productsDao()。Products 服务有这个 DAO 和一个 DSLContext 对象,与调用数据库的 UsersService 非常相似。

有时我会在登录时遇到此连接问题,有时会很好,我可以浏览网站并查看产品一会儿,但随后我会随机收到“连接已关闭!” 来自另一个服务的错误(大约有 5 个以相同的方式编写)。

所以我的问题是

  1. 我在哪里使用 @Transactional 注释,它实际上做了什么。我省略了@Transactional 注释是否意味着我给自己造成了问题?我之前已经在所有使用数据库的位置添加了它,但我不能确定它是否真的有帮助,因为我仍然遇到同样的错误。

  2. 我的范围有问题吗?我知道 bean 默认为单例 - 我已经编写了我的控制器,它们使用会话存储的属性传递给服务(这些都保留为默认单例),因此它们只能选择某个用户的数据被允许看到。

  3. 由于 connectionPool 两次关闭连接,这是否意味着问题是线程 A 和线程 B 同时进行连接,对其进行处理,然后都关闭?为什么使用上述指南中的配置会发生这种情况?我如何确保线程安全或者这不是问题?

  4. DAO bean 是否应该是接口,从我与 Spring 的简短历史来看,我相信很多(很多/全部?)@Autowired bean 应该是?我是否应该使用接口 org.jooq.DAOImpl 这是所有 jOOQ 生成的 DAO 似乎都实现的接口?

    /li>

为长问题道歉,任何帮助将不胜感激。谢谢。

编辑:这是我在 PersistenceContext 类中的配置

0 投票
1 回答
1140 浏览

java - 带有 Hibernate 4.3.x 的 BoneCP

我已经在我的一个项目中将 hibernate 更新为新版本,现在我也必须更新 BoneCP,因为 ConnectionProvider - Package Declaration 在 Hibernate 4.3.x 中发生了变化。

更改已经在 BoneCP 的 git 上,但我在他们的 maven repo 上找不到更新的 .jar。所以我尝试用maven自己构建它,但我总是遇到一些错误。

有人可以提示我如何成功构建boneCP,或者在哪里可以找到新休眠的更新版本?

谢谢!

JFYI 当我尝试使用 maven (mvn clean install) 自己构建它时,我得到以下错误输出:

0 投票
1 回答
244 浏览

java - BoneCP 是否支持 XA 事务?

知道 BoneCP 是否支持 XA 事务吗?

网站上的功能列表没有提到任何关于 XA Transactions 的内容。

0 投票
0 回答
720 浏览

java - BoneCP - 添加 ShutdownHook 以关闭连接池

我正在使用 BoneCP 连接池库,基本上一切正常。但有一件事我不能百分百确定:

我有一个在整个运行时都打开的连接池。我是否必须添加关闭连接池的关闭挂钩?或者当应用程序存在时我可以什么都不做吗?

关闭挂钩如下所示:

但它给了我一个看起来不太好看的日志消息,它与我的日志系统混为一谈,因为关闭挂钩运行 cuncurrent。所以我不想这样称呼。我一定要吗?

0 投票
0 回答
303 浏览

scala - 来自无响应播放服务器的线程转储

据观察,此播放应用程序会在一段时间后停止响应新请求。试图分析这个线程转储。我已经把它上传到了这里。你认为 BoneCP 在查看线程转储时会导致这种行为吗?

0 投票
1 回答
232 浏览

java - 写入openfire db时executeUpdate抛出错误

尝试插入到 openfire db 中的表中:

我收到以下错误:

我尝试使用该查询手动插入数据库,并且可以成功插入。我正在使用 BoneCP 连接池。我从数据库读取没有问题。

0 投票
0 回答
538 浏览

java - 使用 BoneCP 建立连接时,非活动会话数增加 - 每次运行

我已将 Oracle 数据库与应用程序连接起来。对于每次运行,不活动会话的数量都会增加,这意味着旧会话不会被重用,并且会为每个插入/更新操作创建新的三个连接。只有在关闭应用程序服务器后,一切都会重置并恢复正常。

如果继续下去,是否会引发任何问题?知道为什么会发生这种情况以及无论如何要纠正这个问题吗?

这是 Oracle 的 JDBC 连接的基本配置

询问

select * from v$session where username='ORACLE_DB';

0 投票
0 回答
1257 浏览

testing - 多重播放测试错误:“从已关闭的池中获取连接”

我正在编写启动 Play 2.2.2 应用程序的集成测试(例如Helpers.running(fakeApplication) {...}。第一个测试完成没有错误,但下一个给出以下(删节的)堆栈跟踪:

我目前的解决方法是(根据这篇文章):

有没有更好的方法来做到这一点?根本问题是什么?在测试结束时关闭连接池很好,但我会认为第二次 Play 启动应用程序时会启动一个新的连接池?

0 投票
1 回答
2334 浏览

mysql - BoneCP 抛出“SQLException:连接已关闭!” 批量插入 MySQL 时

我的任务是使用带有 jOOQ 和 Spring 的 BoneCP 建立一个项目,但我在这样做时遇到了一些困难。在我的 MySQL 数据库中进行单独插入工作非常好,但是使用 190 000 个对象这样做需要将近 20 分钟,所以为了加快速度,我想一次使用 100 个批量插入。但是,这会引发以下异常:

(值得一提的是,这个异常是在第一次批量查询时抛出的,所以在它之前没有执行过任何查询)。这是我的 applicationContext.xml,它基于 jOOQ 教程中的一个(你可以在这里找到它:http: //www.jooq.org/doc/3.3/manual/getting-started/tutorials/jooq-with-spring / ):

这是用于将记录保存到 MySQL 数据库的代码。(注意:注释掉的代码是我用于单个插入的代码)

这是引发错误的测试用例(我知道它目前实际上并没有测试任何东西。一旦成功保存到数据库,我就会这样做):

任何帮助将不胜感激!