问题标签 [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 - java dbcp2多线程连接访问
我对在 tomcat 上使用连接池非常熟悉,并且多年来一直使用它没有问题。然而,目前我正在开发一个 main 方法应用程序,该应用程序出于性能原因需要同时运行线程,并且这些线程每个都需要访问同一个数据库。如果我完全剥离数据库代码并且仅将数组用于测试目的(例如多线程工作),我的代码就可以工作了,但是一旦我重新添加数据库连接,第一个线程就会获得锁定,而其他线程则不会'根本跑不起来。玩过c3p0、dbcp2;目前正在使用 dbcp2。谢谢!那里有大量文档,但似乎特定于我的用例的代码示例并不多。这是一个示例应用程序:
java - 将 connectionTimedOut 设置为 1 秒会引发 Socket Timed Out 错误
我正在开发一个在 pcf 环境中运行的 Web 应用程序,它有大约 100 个用户。我正在使用 Hikari CP 库connectionTimedout
通过在应用程序代码中将其设置为 1 秒来管理数据库连接和自定义属性。连接池大小设置为 100。
在一种情况下,调用我明确创建的存储过程
对象与ArrayDescriptor()
预期的连接对象一样。我using ArrayDescriptor
作为存储过程的输入需要对象数组。
但是,此代码随机抛出 Socket Read Timed Out 错误
使用 dbcp 库管理的连接池配置时,相同的代码工作正常。
任何人都可以帮忙吗?Hikari CP 库有什么问题?
根据合规性规则,我不能在公共领域发布代码。
java - 关闭简单的 Micronaut CLI 数据应用程序时出错
我刚刚开发了一个小型 micronaut CLI 应用程序来探索 Micronaut jdbc 和 sql 功能。以下是依赖项,
该应用程序运行良好,但退出时失败并出现以下错误,
我尝试查看基于注释的生成代码$DatasourceConfigurationDefinition
,发现在 dispose 方法中有一个 checkcast 指令(检查第 1 行)
因此,显然 micronaut 在初始化上下文但在处理 bean 时替换了实例io.micronaut.configuration.jdbc.dbcp.DatasourceConfiguration
..TransactionAwareDataSource$DataSourceProxy
它失败了,因为代理无法转换它已包装的实例。
这看起来像一个非常简单的错误(可能已被 micronaut 的自动化测试套件捕获),所以我觉得它一定是由于依赖项中的一些错误配置而发生的。
非常感谢任何帮助。
java - 并发日志记录到 sql DB - 线程未并行运行
我用 2.14.0 和 2.13.3 对此进行了测试,我将 JDBC Appender 与 DynamicThresholdFilter 结合使用,并尝试了一个普通的 Logger 和 AsyncLogger。
在 JDBC Appender 中,我还尝试了 PoolingDriver 和 ConnectionFactory 方法。
事实证明,由于 Log4j2,线程没有并行启动。
使用 AsyncLogger 甚至使情况变得更糟,因为输出表明 Appender 未启动,并且在 15.000 个预期日志中,只有 13.517 个在数据库中。
为了重现这个问题,我做了一个 github repo,请参见这里:https ://github.com/stefanwendelmann/Log4j_JDBC_Test
编辑
我用 h2db 替换了 mssql-jdbc,线程不会阻塞。JMC 自动分析说有JdbcDatabaseManager的锁定实例。
我的 PoolableConnectionFactory 中是否存在 mssql-jdbc 的配置问题,或者 dbcp / jdbc 驱动程序池是否存在一般问题?
编辑 2
在 Apaches LOGJ2 Jira 上创建票证:https ://issues.apache.org/jira/browse/LOG4J2-3022
编辑 3
为 mssql 和 h2:file 添加了更长的飞行记录
java - java连接池和自动提交状态
我找不到答案的快速问题。如果您有一个连接池,其中某些连接可能已设置为自动提交 false。如果这些被返回并从池中检索。自动提交是否设置回 true(默认)?还是我可以在一种或另一种模式下建立一些联系?
java - Java 和 MariaDB 连接驱动程序错误
我可以用 JDBC 和 DriverManager 连接 Java 和 Maria DB。有用。我可以在我的数据库表等中写一行……但是使用“基本数据源”我无法连接到 MariaDB。我在 FEDORA 上使用 openJDK 15。我不明白为什么我无法连接到数据库。
这是我的代码:
这是我运行代码时的错误:
这是我的 pom.xml 和 Maven 以及我对 MariaDB 连接器和 DBCP 的依赖项
java - 使用 Java DBCP 连接到 Cassandra
我使用 Apache Common DBCP 库中的“BasicDataSource”类并使用 DataStax 驱动程序“com.simba.cassandra.jdbc42.Driver”连接到带有 Java 的 Cassandra 数据库。当 Cassandra 配置为“authenticator”设置为“AllowAllAuthenticator”时,我可以连接到数据库。但是,当我启用“PasswordAuthenticator”并在“BasicDataSource”对象中设置用户名/密码时,我无法连接并获得异常“主机/IP 地址:端口上的身份验证错误:主机/IP 地址:端口需要身份验证,但没有身份验证器在集群配置中找到。”。建立安全连接需要什么?
java - Java BasicDataSource 连接时卡住
我正在使用 Apache Commons 库的 DBCP 组件连接到 Oracle 数据库。我创建了一个 BasicDataSource 对象并将 MaxWait 时间设置为两分钟。但是,当我调用“getConnection”方法来获取连接时,它永远不会返回或超时。我正在尝试连接到 Oracle 12.1.0.2 数据库。这可能是什么原因?谢谢。
aws-secrets-manager - 如何在 dbcp 基本数据源中重新加载密码
dbcp2 基本数据源正用于我们的一个 java 应用程序,并且通过调用此设置器设置数据库密码
密码存储在 AWS 秘密管理器中,现在为数据库构建了密码轮换逻辑,所以现在每当轮换密码时,我的应用程序无法验证数据库,我需要绕过新密码重新部署我的应用程序。
我可以在应用程序中读取最新密码,但在 dbcp 中没有看到任何回调 API 来刷新密码。
DBCP 中是否有任何选项可以在不重新部署应用程序的情况下刷新密码?
java - BasicDataSource 支持域名吗?
现在,当客户使用 BasicDataSource 时,他们希望将 URL 连接字符串更改为域名。有没有办法支持这一点?