问题标签 [dbcp]

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 投票
6 回答
57161 浏览

java - HikariPool-1 - 连接不可用,对于非常小的负载服务器,请求在 30000 毫秒后超时

我有一个用于测试目的的小型 Java 应用程序。我最近搬到了光。我注意到的是我不断收到这个错误。

以下是我最初对 hikari 的设置。

我的两个设备几乎没有使用它,我确保在最后我确实关闭了它。所以我不知道为什么它不断收到错误?可能是什么问题,或者我需要更改一些设置?

我的 hikari 版本是 HikariCP-2.6.1.jar。

0 投票
0 回答
164 浏览

java - DBCP 池在 Servlet 中不起作用,但在独立应用程序中起作用

池不在servlet中,但在独立应用程序中工作。

类常见于两种情况:

对于独立类,它的工作方式如下

来自servlet 的部分如下:

例外在这里”

谢谢。

添加:

项目设置中的工件:在此处输入图像描述

解决:

所以这两个库被错过了)

在此处输入图像描述

有趣: 在 POM 中,我只添加了一个依赖机器人,它支持两个:

0 投票
2 回答
773 浏览

java - DBCP 连接池

请问下面的代码是否可以正确使用连接池(DBCP)?

我提供 BasicDataSource 的实用程序类如下(几乎与 apache 示例相同)

然后我将上述内容用作:

MyClass 类可能被多个衍生线程使用。我没有看到此代码的任何潜在问题?

非常感谢

0 投票
2 回答
6813 浏览

tomcat - Tomcat 忽略 removeAbandonedTimeout 并关闭池中的连接

我正在使用 commons dbcp 在 as400 上使用 JDBC 连接到 DB2 的 tomcat 7.0 上工作。一旦我在服务器上加载负载,它就会立即打开和关闭与数据库的连接,而忽略我设置的 30 分钟 removeAbandonedTimeout 设置。我尝试了几种设置都无济于事。例如,在 15 秒的时间间隔内,它将无缘无故地打开 150 个连接并关闭 140 个连接。我们让这个应用程序在旧的 WebSphere 服务器上运行,它不会关闭连接,除非它们真的空闲。

这是我的配置:

当系统空闲或只有几个测试帐户时,它会按预期运行,但是一旦我在服务器上加载,大量打开和关闭立即开始。例如,它将在相同的 15 秒间隔内打开 150 个连接并关闭 90 个连接。我正在从我的监控软件读取与 as400 上 QZ 作业的开始和结束相关的套接字打开和关闭。在使用连接时,它将不断执行此操作。

这违背了连接池的目的。任何想法或想法表示赞赏。

也令人困惑,因为不清楚我应该从哪些参数开始。不接受与Tomcat JDBC 连接池参数不同的commons dbcp 参数,即removeAbandonedOnMaintenance。但是 minEvictableIdleTimeMillis 的默认值 1800000 是从 Tomcat jdbc 池参数中获取的,而不是 60000。

https://commons.apache.org/proper/commons-dbcp/api-1.2.2/index.html

https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

当我没有明确设置参数时,这就是我得到的默认值。它似乎列出了所有 tomcat jdbc 池参数,而不是 commons DBCP 参数。但是,它从 commons DBCP 中选择 minEvictableIdleTimeout 的默认值,而不是从 Tomcat JDBC 连接池参数中选择 60 秒。奇怪的部分是removeAbandoned 参数没有为commons dbcp 列出,它是removeAbandonedOnMaintenance 和removeAbandonedOnBorrow。一个星期以来,我一直试图把这种果冻钉在墙上。

我使用 jmxproxy 来获取实时统计信息和设置。

http://myserver:8080/manager/jmxproxy/?qry=Catalina%3Atype%3DDataSource%2C *

0 投票
0 回答
593 浏览

java - 使用 DBCP、JDBCTemplate 和 ScheduledExecutor 时识别连接泄漏的步骤是什么?

我们正在创建一个 Spring Boot Web 应用程序。

DB:JDBC 模板和 DBCP 连接池。

Java代码:在Executors.newSingleThreadScheduledExecutor()中调用了一个runnable;

时间间隔:2分钟

runnable 中的代码使用 JDBCTemplate.query() 命中 DB。

问题:堆使用量在几分钟内增加到几 GB。

任何指针都有助于识别内存泄漏。

注意:如果我们注释 JDBCTemplate.query() ,内存使用是不变的。

DBCP 的设置:

来自 Eclipse MAT 报告的嫌疑人

由“org.springframework.boot.loader.LaunchedURLClassLoader @ 0x7fc1d90124c8”加载的“org.apache.commons.pool.impl.GenericObjectPool”的一个实例占用了 1,421,543,264 (94.69%) 字节。内存在“org.springframework.boot.loader.LaunchedURLClassLoader @ 0x7fc1d90124c8”加载的“org.apache.commons.pool.impl.GenericObjectPool”的一个实例中累积。

0 投票
2 回答
389 浏览

jboss - 从 jboss5.1.2eap 迁移到 JBoss7.2eap:java.lang.NoClassDefFoundError: Lorg/apache/commons/dbcp/BasicDataSource

我已经将我的应用程序从往返迁移jboss5.1.2-eap到了,jboss-7.2-eap但是在迁移之后,它在启动服务器时开始给我异常。java6java8

引起:java.lang.NoClassDefFoundError: Lorg/apache/commons/dbcp/BasicDataSource

我们datasource.xml在服务器的类路径中有一个文件,具有以下代码行。

我们也commons-dbcp-1.2.2.jar存在于类路径中,但它不适用于jboss-7.2-eap.

现在我不确定是否commons-dbcp-1.2.2.jar支持jboss7-eap. 因为它存在于应用程序的类路径中(存在于加载的模块中),但 spring 仍然无法为数据源创建 bean。

0 投票
1 回答
124 浏览

java - 找不到符号 ds.setMaxActive(MAX_ACTIVE);

我正在尝试使用 Commons DBCP 配置 Oracle 数据源,但它抛出主题错误

我正在开发 CentOS

我该如何解决

0 投票
1 回答
290 浏览

apache - 我们需要关闭自定义处理器中的 DBCPConnectionPool 对象还是由控制器服务本身处理?

我创建了一个自定义处理器,负责在 mysql 数据库中保存一些记录。为了设置 mysql 数据库,我在我的自定义处理器中使用 DBCPConnectionPool 对象,它可以正确地将数据保存到数据库表中,但是我担心池机制我在保存逻辑完成后不会关闭此连接。这适用于 2 到 3 个流文件,但是当我发送多个流文件时它会正常工作吗?

我正在寻求澄清,因为我当前的流程在较少数量的流程文件下正常工作

0 投票
1 回答
200 浏览

java - JTA 集成 jBPM 抛出“在另一个事务中登记时无法使用连接”

我在SpringBoot环境中集成了jBPM,发现同一个XAResource在高并发下可以处理不同的事务。我使用NarayanaDBCP作为我的 TransactionManager 和 ResourceManager。使用org.kie.internal.persistence.jpa.JPAKnowledgeService持久化KieSession或重新从db重新加载KieSession时出现异常,发现错误是在类KieSpringTransactionManager提交方法中跟踪调用堆栈

0 投票
1 回答
70 浏览

osgi - Apache felix 无法将 dbcp2 作为包加载

我创建了一个 OSGi 包,它使用 apache commons dbcp2 创建一个数据库连接池。我使用 apache felix gogo 作为运行时来启动我的包。我已经将多个其他外部库毫无问题地加载到 apache felix 中:

图片在这里(不能发布没有代表): https ://i.gyazo.com/c779ccaba20e3fa327d61a621748d8dc.png

但是,每次我尝试启动捆绑包中需要的 dbcp2 捆绑包时,都会出现以下错误:

图片在这里(不能发布没有代表): https ://i.gyazo.com/ac7b673e63b9e6ad764af2e6adddb19a.png

我发现有一些可用的 Apache mixservice 包,但它包含 dbcp 1.4,我需要 dbcp 2.5.0 或更高版本。

需要做什么才能使 apache felix 能够将 dbcp2 作为其他项目所需的库加载?