动态更改从Java JNI连接池获取的连接上的连接属性

时间:2012-11-02 15:33:13

标签: java jdbc properties connection pool

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

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

有很多现有的代码,以前的程序员使用我认为是黑客和不良做法的方法解决Oracle错误。

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

我只是想确认在从池中检索连接期间或从池中检索连接之后,无法动态修改连接属性。

2 个答案:

答案 0 :(得分:1)

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

  1. 在任何地方重构现有代码以正确处理Timestamp对象
  2. 为您的代码使用单独的连接池
  3. 将转换代码从Timestamp写入Date以维护旧代码。
  4. 继续使用其他人已启动的解决方法。

答案 1 :(得分:0)

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