问题标签 [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 投票
3 回答
4318 浏览

java - Play2.0 返回“SQLException:等待空闲可用连接超时。”

我一直在使用 Play 2.0.2 来创建 Java 应用程序。这几天我遇到了一个问题。在 ~100 请求之后,服务器开始抛出这个异常:

[[SQLException: 等待空闲可用连接超时。]]

我创建了一个Connectionwith的新实例DB.getConnection()。我不关闭Connection实例,因为每个请求只有一个实例,据我所知,它会Connection在活动 TCP 连接关闭时自动关闭实例。我试图增加db.default.connectionTimeout价值,100 seconds但它无法解决问题。然后我检查了活动的 Postgresql 连接并且没有活动连接。我也重新启动了 Postgresql,但它也无法解决问题。

目前解决这个问题的唯一方法是杀死 Play20 实例并启动一个新实例。

这是 Play2.0 创建的日志:

0 投票
4 回答
2656 浏览

playframework - Play Framework 2.0.4 和 BoneCP - 那么如何避免连接泄漏?

我的应用程序中只有一个地方使用了连接。
它看起来像这样:

所以,连接总是关闭的。
但是一段时间后,我总是得到比bonecp配置中定义的更多的连接......

问题:
这个问题有明确的解决方案吗?
也许我应该尝试玩框架 2.1?

我真的无法理解有些人如何毫无问题地使用该框架......

配置:

谢谢!

0 投票
2 回答
2746 浏览

spring - BoneCP 与 JSF Spring Hibernate 配置

我尝试将 BoneCP 与我的 JSF-Spring-Hibernate 组合一起使用,遵循他们网站上的 BoneCP 配置。

我使用 Intellij 作为 IDE,并且我将框架支持直接添加到项目中,但 BoneCP 及其所需的库来自 maven。

这是我的简单 spring-config.xml

当我在 Tomcat 7 上运行项目时,它给了我这些错误:

未找到 BoneCP 类。我该如何解决?我正在使用 bonecp-provider 0.8.0-alpha1 hibernate 4 spring 3 jsf 2

0 投票
0 回答
1518 浏览

spring - Mybatis、BoneCP、Spring:Tomcat 7.0 中的 SQLBuilder 内存泄漏问题。*

我正在做一个使用 Spring、Mybatis 和 BoneCP 的项目。

每次我停止 Tomcat 服务器时,我都会观察到以下内存泄漏问题:

每次访问数据库时,SqlBuilder 的数量似乎都会增加。非常感谢您的帮助/评论。

这是我的配置:

pom.xml

根上下文.xml

web.xml

0 投票
1 回答
3550 浏览

jakarta-ee - 有没有办法在运行时重新加载 Tomcat 的连接池?

我的情况如下:

  • 我必须维护一个服务器,以 Tomcat(6) 作为 Web 服务器,上面有一堆 Web 应用程序。这些 webapps 由其他人维护。我们的服务器连接到另一个部门的数据库服务器,其中包含我们的 webapps 需要显示的信息。如果没有适当的池化策略,我们的服务器很快就变成了灾难。

  • 现在我向大家介绍了 Pooling(我选择了 BoneCP - 0.7),我们将创建一个单一的池,它保留在 Tomcat 的全局 JNDI 上下文中,并让每个人都能从中获得连接。这应该可以解决问题,我猜。

我担心的是:我怎样才能完全控制这个 Pooling ?我有一些要求:

  • 我想在运行时手动或以编程方式重新加载 DataSource 配置(将在需要时尝试连接到备份服务器)

  • 更改可不时更改的连接数(最小、最大、空闲连接)

  • 最好让Tomcat保持活力

  • 我打算建立一个使用 JMX 连接和检索信息的警报系统,并有一个重新加载池的按钮(我知道所有的池策略都有某种恢复,但是另一个数据库服务器会定期崩溃,所以手动重新启动连接有点可取)。

我想到了一些可能的解决方案:

  • 告诉 Tomcat 重新启动其全局 JNDI 上下文
  • 告诉 Tomcat 重新启动它的 DataSource 对象
  • 告诉 BoneCP 重新启动其池,并在必要时重新创建连接
  • 重新启动 Tomcat 本身

我的问题是:

  1. 我可以在不影响 Tomcat(和其他 webapps)的情况下安全地执行上述解决方案吗?
  2. 我应该费心这样做吗?(我猜只是重新启动Tomcat)
0 投票
1 回答
490 浏览

bonecp - 使用 maven 构建 BoneCP 的问题

我从以下 Github URL 下载了最新的 BoneCP 源代码:

https://github.com/wwadge/bonecp/archive/master.zip

当我尝试使用 maven 构建此源代码时,在编译 bonecp-hbnprovider 模块时会出现一些问题。最初我收到以下错误:

不可解析的父 POM:找不到工件 com.jolbox:bonecp-parent:pom:0.8.0-rc1-SNAPSHOT 和 'parent.relativePath' 指向错误的本地 POM @ 第 19 行,第 13 列 -> [帮助 2]

在 bonecp-hbnprovider 的 pom.xml 中将0.8.0-rc1-SNAPSHOT 更改为 0.8.0-rc2-SNAPSHOT后,我收到以下错误:

[错误] 无法在项目 bonecp-provider 上执行目标:无法解析项目 com.jolbox:bonecp-provider:bundle:0.8.0-rc2-SNAPSHOT 的依赖项:找不到工件 com.jolbox:bonecp:jar:0.8 spring-milestone 中的 .0-rc2-SNAPSHOT (http://s3.amazonaws.com/maven.springframework.org/milestone) -> [帮助 1]

请让我知道如何解决此问题?

0 投票
1 回答
6234 浏览

java - BoneCP 中 partitionCount 的更好解释

来自官方 BoneCP 文档:http://jolbox.com/index.html?page=http: //jolbox.com/configuration.html

partitionCount为了减少锁竞争从而提高性能,每个传入的连接请求都会从具有线程关联性的池中挑选一个连接,即 pool[threadId % partition_count]。这个数字越高,当您有大量短期线程时,您的性能就越好。超过某个阈值,这些池的维护将开始对性能产生负面影响(并且仅适用于分区上的连接开始耗尽的情况)。

默认值:2,最小值:1,推荐:3-4(但非常特定于应用程序)

但这不是很清楚,也没有一个很好的例子。我正在运行一个普通的 Web 服务,同时有 0-500 个线程。哪个是一个很好的价值,为什么?

0 投票
1 回答
751 浏览

java - 如何检测连接池中的关闭连接?

想象一下当网络连接中断时有一个活动的 BoneCP jdbc 连接池,然后在一分钟后恢复。为了自动重新连接并重新创建池,应该如何配置 BoneCP?目前,如果我尝试此操作,池中的所有 jdbc 连接仍然可用,并且每次我的代码尝试使用它们时,都会出现异常:“java.sql.SQLException:JZ0C0:连接已关闭。”

更新:看起来 BoneCP 可能不支持这个。有谁知道其他连接池框架是否(以及如何)解决这个问题?

0 投票
1 回答
1033 浏览

spring - 当数据库不可用时,如何防止数据库调用挂在 jdbcTemplate.query 中?

我正在使用 Spring JDBC 模板和 BoneCP 连接池。当我故意将 JDBC URL 设置为无效值(以测试我的系统在数据库连接失败时如何工作)时,它会引发UnknownHostException服务器启动,但服务器会继续启动。当我提交请求时,该jdbcTemplate.query(sql)方法挂起。什么是处理这个问题的好方法,这样系统就不会挂起jdbcTemplate.query(sql)

如果数据库由于网络连接问题而关闭,则可能出现这种情况。我试图玩弄idleMaxAgeInSecondsandmaxConnectionAgeInSeconds值;我将它们都设置为 10,但代码仍然挂在jdbcTemplate.query().

0 投票
1 回答
1155 浏览

spring - BoneCP 有时无法从 spring 属性持有者获取配置

我已经面临这个问题一段时间了。我的配置如下

该项目在Tomcat 7上运行

在本地机器上,项目部署没有错误,开发服务器也一样。不幸的是,该项目不能再部署在开发服务器上(服务器配置保持不变),而本地机器仍然很好。每次我在开发服务器上部署项目时,Tomcat 都会挂在 INFO: Deploying web application archive /etc/tomcat/webapps/project.war 上。但如果我用真实值配置 BoneCP,一切都很好。

谁能告诉我它有什么问题?


原来是lazyInit问题。如果我注释掉它,服务器可以正常启动。但现在我面临着新的问题。Mybatis根本无法访问db,而本地机器100%正常。但不要抛出任何异常。但是当我停止服务器时,我发现了以下异常