【问题标题】:Dynamically change connection property on connection obtained from Java JNI connection pool动态更改从 Java JNI 连接池获得的连接的连接属性
【发布时间】:2012-10-23 07:09:06
【问题描述】:

我正在使用 Java 并从 JNI 连接池 (Weblogic Server) 中检索我的数据库连接。

我想为我检索到的连接设置连接属性 oracle.jdbc.V8Compatible="true",因为如果未设置,则会出现 Oracle 错误,导致使用日期和时间戳时出现错误行为。

有很多已经存在的代码,以前的编码人员使用我认为是 hack 和不好的做法来解决 Oracle 错误。

无论如何,理想情况下,我想为我正在编写的较新代码设置 oracle.jdbc.V8Compatible="true",但允许它保持为 false 以便向后兼容现有的遗留代码。我担心将它设置为“真”可能会破坏一些旧代码。看来,由于我正在从连接池中检索我的连接,因此除了复制池中的所有数据库连接以使它们各自具有不同的属性之外,可能没有一种简单的方法可以做到这一点,我不愿意这样做,因为有多个数据库在使用。

我只是想确认,在从池中检索连接期间或从池中检索连接之后,没有任何方法可以动态修改连接属性。

【问题讨论】:

    标签: java jdbc properties connection pool


    【解决方案1】:

    我认为您的选择是,按优先顺序排列:

    1. 在各处重构现有代码以正确处理 Timestamp 对象
    2. 为您的代码使用单独的连接池
    3. 编写从时间戳到日期的转换代码以维护旧代码。
    4. 继续使用其他人已经开始的解决方法。

    【讨论】:

      【解决方案2】:

      查看您的连接池是否可以通过 JNDI 公开它。然后你可以使用即 Jconsole 来改变它。

      【讨论】:

        猜你喜欢
        • 2021-10-02
        • 1970-01-01
        • 2015-08-09
        • 1970-01-01
        • 2013-04-08
        • 2023-04-04
        • 2022-08-18
        • 1970-01-01
        • 2011-10-10
        相关资源
        最近更新 更多