问题标签 [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.
java - HikariPool-1 - 连接不可用,对于非常小的负载服务器,请求在 30000 毫秒后超时
我有一个用于测试目的的小型 Java 应用程序。我最近搬到了光。我注意到的是我不断收到这个错误。
以下是我最初对 hikari 的设置。
我的两个设备几乎没有使用它,我确保在最后我确实关闭了它。所以我不知道为什么它不断收到错误?可能是什么问题,或者我需要更改一些设置?
我的 hikari 版本是 HikariCP-2.6.1.jar。
java - DBCP 连接池
请问下面的代码是否可以正确使用连接池(DBCP)?
我提供 BasicDataSource 的实用程序类如下(几乎与 apache 示例相同)
然后我将上述内容用作:
MyClass 类可能被多个衍生线程使用。我没有看到此代码的任何潜在问题?
非常感谢
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 *
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”的一个实例中累积。
jboss - 从 jboss5.1.2eap 迁移到 JBoss7.2eap:java.lang.NoClassDefFoundError: Lorg/apache/commons/dbcp/BasicDataSource
我已经将我的应用程序从往返迁移jboss5.1.2-eap
到了,jboss-7.2-eap
但是在迁移之后,它在启动服务器时开始给我异常。java6
java8
引起: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。
java - 找不到符号 ds.setMaxActive(MAX_ACTIVE);
我正在尝试使用 Commons DBCP 配置 Oracle 数据源,但它抛出主题错误
我正在开发 CentOS
我该如何解决
apache - 我们需要关闭自定义处理器中的 DBCPConnectionPool 对象还是由控制器服务本身处理?
我创建了一个自定义处理器,负责在 mysql 数据库中保存一些记录。为了设置 mysql 数据库,我在我的自定义处理器中使用 DBCPConnectionPool 对象,它可以正确地将数据保存到数据库表中,但是我担心池机制我在保存逻辑完成后不会关闭此连接。这适用于 2 到 3 个流文件,但是当我发送多个流文件时它会正常工作吗?
我正在寻求澄清,因为我当前的流程在较少数量的流程文件下正常工作
java - JTA 集成 jBPM 抛出“在另一个事务中登记时无法使用连接”
我在SpringBoot环境中集成了jBPM,发现同一个XAResource在高并发下可以处理不同的事务。我使用Narayana和DBCP作为我的 TransactionManager 和 ResourceManager。使用org.kie.internal.persistence.jpa.JPAKnowledgeService持久化KieSession或重新从db重新加载KieSession时出现异常,发现错误是在类KieSpringTransactionManager提交方法中跟踪调用堆栈
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 作为其他项目所需的库加载?