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

动态更改从Java JNI连接池获得的连接的连接属性,java,jdbc,properties,connection,pool,Java,Jdbc,Properties,Connection,Pool,我正在使用Java并从JNI连接池(Weblogic服务器)检索数据库连接 我想为我检索的连接设置连接属性oracle.jdbc.V8Compatible=“true”,因为如果未设置该属性,则会出现oracle错误,在处理日期和时间戳时会导致错误行为 P>有很多已有的代码,以前的编码器在Oracle Bug中使用了我认为是一种黑客行为和坏习惯。 因此,无论如何,理想情况下,我希望为我正在编写的较新代码设置oracle.jdbc.V8Compatible=“true”,但允许它保持false,

我正在使用Java并从JNI连接池(Weblogic服务器)检索数据库连接

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

<> P>有很多已有的代码,以前的编码器在Oracle Bug中使用了我认为是一种黑客行为和坏习惯。 因此,无论如何,理想情况下,我希望为我正在编写的较新代码设置oracle.jdbc.V8Compatible=“true”,但允许它保持false,以便向后兼容现有的遗留代码。我担心将其全部设置为“true”可能会破坏一些旧代码。看来,由于我要从连接池中检索连接,除了复制池中的所有数据库连接以使它们各自具有不同的属性之外,可能没有一种简单的方法来实现这一点,我不愿意这样做,因为存在多个数据库


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

查看您的连接池是否可以通过JNDI公开它。然后您可以使用i.e Jconsole来更改它

查看您的连接池是否可以通过JNDI公开它。然后您可以使用i.e Jconsole来更改它

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

  • 到处重构现有代码以正确处理时间戳对象
  • 为代码使用单独的连接池
  • 编写从时间戳到日期的转换代码,以维护遗留代码
  • 继续使用其他人已开始的变通方法
    我认为你的选择是,按优先顺序:

  • 到处重构现有代码以正确处理时间戳对象
  • 为代码使用单独的连接池
  • 编写从时间戳到日期的转换代码,以维护遗留代码
  • 继续使用其他人已开始的变通方法