2012-11-02 71 views
1

我正在使用Java並從JNI連接池(Weblogic Server)中檢索我的數據庫連接。動態更改從Java JNI連接池獲取的連接的連接屬性

我想爲我檢索的連接設置連接屬性oracle.jdbc.V8Compatible =「true」,因爲如果未設置此屬性,則會導致在使用日期和時間戳時導致錯誤行爲的Oracle錯誤。

現有的代碼很多,以前的編碼人員都在使用我認爲是黑客和惡意做法的Oracle錯誤工作。

因此,無論如何,理想情況下,我想爲我正在編寫的新代碼設置oracle.jdbc.V8Compatible =「true」,但爲了向後兼容現有的舊代碼,允許它保持爲false。恐怕在整個板子上將它設置爲「真實」可能會破壞一些較舊的代碼。看起來,因爲我從連接池中檢索我的連接,可能沒有簡單的方法來執行此操作,除了複製池中的所有數據庫連接,以便它們每個都具有不同的屬性,我不願意因爲有多個數據庫在玩。

我只是想確認,在從池中檢索連接期間或在從池中檢索連接之後,沒有某種方法可以動態修改連接屬性。

回答

1

我覺得你的選擇是,按優先順序排列:

  1. 重構現有的代碼到處辦理Timestamp對象正確
  2. 使用您的代碼從時間戳
  3. 寫轉換代碼單獨的連接池以維護遺留代碼。
  4. 繼續使用其他人已經開始的解決方法。
0

查看您的連接池是否可以通過JNDI公開它。然後你可以使用Jconsole來改變它。